MCP Server Documentation
75 Tools · Model Context Protocol Server for AI Agents
Connect Claude, Cursor, and any MCP-compatible AI agent directly to DYNO Mapper. Manage projects, run accessibility audits, analyze website inventory, monitor keyword visibility, and surface SEO issues — all through natural conversation, without leaving your AI client.
Package:
@dynomapper/mcp-server· Transport: stdio · Runtime: Node.js
| 75 | 13 | 75+ | 1 |
|---|---|---|---|
| Tools | Modules | API Endpoints | Auth method (PAT) |
Quick Navigation
Quickstart · Architecture · User · Projects · Project Metadata · Custom Logins · V.A.C.Q. Score · Sitemap Items · Inventory · SEO Audit · Analytics · Comments · Visibility & Keywords · Accessibility (Web) · Accessibility (PDF) · Assignments · Workflow Examples · Configuration
What is MCP?
The Model Context Protocol is an open standard from Anthropic that lets AI agents securely connect to external tools and data sources. Instead of writing a custom integration for every AI client, you stand up one MCP server and it works with Claude Desktop, Cursor, Windsurf, and any other MCP-compatible host.
The DYNO Mapper MCP server translates AI tool calls into requests against the DYNO Mapper Public API, handling authentication, retries, and error recovery automatically. Your agent can plan a redesign, audit a client site for WCAG issues, surface SEO problems, or pull keyword rankings — all through natural language.
Quickstart
⚡ Get Connected in Under a Minute
1. Generate a Personal Access Token
Log in to DYNO Mapper and navigate to app.dynomapper.com/developer. In the Personal Access Tokens section, click Generate, name your token, and copy it somewhere safe.
Keep your Personal Access Tokens secure and never share them publicly or commit them to source control.
2. Add to Claude Desktop
Open Claude Desktop and edit your config file:
- macOS:
~/Library/Application\ Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Add the DYNO Mapper server:
{
"mcpServers": {
"dynomapper": {
"command": "npx",
"args": ["-y", "@dynomapper/mcp-server"],
"env": {
"MCP_API_KEY": "your_personal_access_token_here"
}
}
}
}
3. Restart Claude Desktop
That’s it. All 75 DYNO Mapper tools will appear in Claude Desktop. Try a prompt like:
“Pull my DYNO Mapper projects, then run a full SEO audit on the most recent one and summarize the top three issues.”
Cursor, Windsurf, and Other MCP Clients
The same server works in any MCP-compatible host. Add to the client’s MCP configuration with the same npx command and MCP_API_KEY environment variable:
{
"mcpServers": {
"dynomapper": {
"command": "npx",
"args": ["-y", "@dynomapper/mcp-server"],
"env": {
"MCP_API_KEY": "your_personal_access_token_here"
}
}
}
}
Global Install (optional)
To skip the npx download on each launch:
npm install -g @dynomapper/mcp-server
Architecture
┌─────────────┐ stdio · JSON-RPC ┌──────────────────────┐ ┌──────────────┐
│ AI Agent │ ◄────────────────────► │ DYNO Mapper MCP │ ◄────────────► │ DYNO Mapper │
│ (Claude, │ │ @dynomapper/ │ REST / JSON │ Public API │
│ Cursor) │ │ mcp-server │ Bearer PAT │ │
└─────────────┘ └──────────────────────┘ └──────┬───────┘
│
┌──────────────┼──────────────┐
▼ ▼ ▼
Crawler & Accessibility Visibility
Inventory Engine Tracking
The server is read-heavy by design — most tools fetch reports, audits, analytics, and rankings that DYNO Mapper has already computed from your scheduled crawls. A smaller set of tools creates, refreshes, or cancels project jobs and manages keyword groups.
Tool Reference
All 75 tools are grouped by module below.
User
| Tool | Description |
|---|---|
get_current_user |
Get current user information and account details |
Projects
Create projects from a live URL or from an uploaded text/XML file. Track job status, refresh, or cancel any project operation in flight.
| Tool | Description |
|---|---|
get_projects |
Get a list of projects |
get_project_details |
Get the details of a project |
create_project_from_url |
Create a project by crawling a URL |
create_project_from_file |
Create a project from a text or XML file |
get_project_url_job_status |
Get status of a project job created from a URL |
get_project_file_job_status |
Get status of a project job created from a text or XML file |
cancel_project_url_job |
Cancel a URL-based project job |
cancel_project_file_job |
Cancel a file-based project job |
refresh_project_url |
Refresh a project created from a URL |
refresh_project_file |
Refresh a project created from a text or XML file |
cancel_project_url_refresh |
Cancel a refresh of a URL-based project |
cancel_project_file_refresh |
Cancel a refresh of a file-based project |
Project Metadata
| Tool | Description |
|---|---|
get_project_categories |
Get the list of project categories |
get_project_workflow_statuses |
Get the list of project workflow statuses |
get_project_groups |
Get the list of project groups |
Custom Logins
Test and manage Custom System Authentication definitions for crawling private and SharePoint sites.
| Tool | Description |
|---|---|
get_project_custom_logins |
Get the list of custom login definitions |
test_project_custom_login |
Test a custom login |
get_project_custom_login_test_result |
Get the result of a custom login test |
V.A.C.Q. Score
DYNO Mapper’s composite Visibility, Accessibility, and Content Quality score — a single dashboard metric for overall online presence health.
| Tool | Description |
|---|---|
get_project_vacq_score |
Get the V.A.C.Q. score for a project |
Sitemap Items
| Tool | Description |
|---|---|
get_project_sitemap_items |
Get the sitemap items of a project |
get_project_sitemap_item_details |
Get the details of a specific sitemap item |
Inventory
Full content inventory: pages, links, and link occurrence tracking across the project.
| Tool | Description |
|---|---|
get_inventory |
Get the inventory of a project |
get_inventory_summary |
Get the inventory summary of a project |
get_inventory_item_links |
Get links of a specific sitemap item |
get_inventory_link_occurrences |
Get occurrences of a link in inventory |
SEO Audit
A full breakdown of on-page issues, with dedicated tools for each issue type so agents can pull just the slice they need.
| Tool | Description |
|---|---|
get_audit_results |
Get audit results of a project |
get_audit_score |
Get the audit score of a project |
get_audit_broken_links |
Get broken links |
get_audit_client_error |
Get client errors (4xx) |
get_audit_duplicate_title |
Get pages with duplicate titles |
get_audit_missing_title |
Get pages with missing titles |
get_audit_long_title |
Get pages with overly long titles |
get_audit_duplicate_description |
Get pages with duplicate meta descriptions |
get_audit_missing_description |
Get pages with missing meta descriptions |
get_audit_long_description |
Get pages with overly long meta descriptions |
get_audit_non_crawlable |
Get non-crawlable pages |
get_audit_non_indexable |
Get non-indexable pages |
get_audit_orphan_pages |
Get orphan pages (not linked from any other page) |
Analytics
Project-level and page-level analytics, daily series, traffic sources, and events. Powered by your connected Google Analytics property.
| Tool | Description |
|---|---|
get_analytics_project |
Get analytics of a project |
get_analytics_project_daily |
Get daily analytics data |
get_analytics_project_traffic_source |
Get traffic sources |
get_analytics_project_events |
Get events |
get_analytics_project_pages |
Get analytics for project pages |
get_analytics_sitemap_item |
Get analytics of a single sitemap item |
get_analytics_sitemap_item_daily |
Get daily analytics of a sitemap item |
Comments
| Tool | Description |
|---|---|
get_commented_items |
Get commented items for a project |
get_item_comments |
Get comments for a specific item |
Visibility & Keywords
Monitor search-engine visibility, manage keyword groups, and pull daily rankings by locale.
| Tool | Description |
|---|---|
get_visibility_project_ranking |
Get keyword rankings for a project |
get_visibility_project_score |
Get the visibility score of a project |
get_visibility_project_groups |
Get keyword groups |
get_visibility_keyword_ranking |
Get the daily ranking of a single keyword |
get_visibility_locales |
Get supported visibility locales |
create_visibility_keyword_group |
Create a keyword group |
delete_visibility_keyword_group |
Delete a keyword group |
create_visibility_keywords |
Create visibility keywords |
update_visibility_keywords_group |
Update keyword group assignments for a project keyword |
update_visibility_keyword_setting |
Update settings for a project keyword |
Accessibility (Web)
Run and review WCAG 2.1 / 2.2 accessibility audits. Pull results, history, scores, and granular item-level results.
| Tool | Description |
|---|---|
run_accessibility_checker |
Run the accessibility checker on a project |
get_accessibility_results |
Get accessibility results of a project |
delete_accessibility_report |
Delete accessibility results of a project |
get_accessibility_report_items |
Get accessibility report items |
get_accessibility_history |
Get results history over a specified date range |
get_accessibility_score |
Get the accessibility score of a project |
get_accessibility_report_problems |
Get accessibility report problems |
get_accessibility_report_groups |
Get accessibility report groups and subgroups |
get_accessibility_report_item_result |
Get the result for a specific accessibility report item |
Accessibility (PDF)
| Tool | Description |
|---|---|
get_accessibility_pdf_files |
List PDF accessibility files |
get_accessibility_pdf_guidelines |
List PDF accessibility guidelines |
get_accessibility_pdf_item_result |
Get the result for a specific PDF accessibility item |
Assignments
Surface and triage content workflow assignments at the global or project level.
| Tool | Description |
|---|---|
get_assignments |
Get a paginated list of assignments |
get_project_assignments |
Get a paginated list of assignments by project |
get_assignments_totals |
Get assignment totals |
get_project_assignments_totals |
Get assignment totals by project |
get_assignment_details |
Get an assignment by ID |
Workflow Examples
A few prompts to illustrate how tool calls chain together in practice.
Crawl a New Site and Summarize Issues
“Create a DYNO Mapper project for example.com, wait until the crawl is done, then give me the V.A.C.Q. score and the top SEO issues.”
create_project_from_url(url="https://example.com")
get_project_url_job_status(job_id=…) # poll until complete
get_project_vacq_score(project_id=…)
get_audit_results(project_id=…)
get_audit_broken_links(project_id=…)
get_audit_missing_title(project_id=…)
Run a WCAG Audit on an Existing Project
“Run the accessibility checker on project 412 and show me the highest-severity problems grouped by guideline.”
run_accessibility_checker(project_id=412)
get_accessibility_score(project_id=412)
get_accessibility_report_groups(project_id=412)
get_accessibility_report_problems(project_id=412)
Track Keywords for a Client
“Add the keywords ‘enterprise CMS’, ‘headless CMS’, and ‘CMS migration’ to project 88, group them under ‘CMS Core’, and pull their current rankings.”
create_visibility_keyword_group(project_id=88, name="CMS Core")
create_visibility_keywords(project_id=88, keywords=[...])
update_visibility_keywords_group(project_id=88, keyword_id=…, group_id=…)
get_visibility_project_ranking(project_id=88)
Triage Outstanding Assignments
“Show me all open assignments across my projects with their totals, then drill into the oldest five.”
get_assignments_totals()
get_assignments(status="open", sort="created_at:asc", limit=5)
get_assignment_details(assignment_id=…) # for each
Refresh a Project on Demand
“Re-crawl project 256 and let me know when it’s done.”
refresh_project_url(project_id=256)
get_project_url_job_status(job_id=…) # poll until complete
get_audit_score(project_id=256)
Configuration
The MCP server is configured entirely through environment variables.
| Variable | Required | Description |
|---|---|---|
MCP_API_KEY |
✓ | Your DYNO Mapper Personal Access Token. Generate one at app.dynomapper.com/developer. |
Where to Find Your Token
- Log in to DYNO Mapper.
- Go to https://app.dynomapper.com/developer.
- Open the Personal Access Tokens section.
- Click Generate, name your token, and copy it.
Treat your token like a password. Never commit it to source control, share it in screenshots, or paste it into untrusted clients. You can revoke and regenerate tokens at any time from the same page.
Resources
- npm:
@dynomapper/mcp-server - MCP Specification: modelcontextprotocol.io
Have questions, run into a bug, or want to request a tool? Open an issue on the package repository or contact the DYNO Mapper team.