DYNO Mapper

DYNO Mapper

MCP Server Documentation

108 Tools · Model Context Protocol Server for AI Agents

Connect Claude, Cursor, VS Code, and any MCP-compatible AI agent directly to DYNO Mapper. Crawl public sites and private SharePoint sites, edit sitemaps, run accessibility audits, analyze website inventory, monitor keyword visibility, and surface SEO issues, all through natural conversation without leaving your AI client.

Hosted (recommended): https://mcp.dynomapper.com/mcp · Sign-in: OAuth with your DYNO Mapper account

Local: @dynomapper/mcp-server · Transport: stdio · Runtime: Node.js · Sign-in: Personal Access Token

108 15 2 OAuth / PAT
Tools Modules Ways to connect (hosted or local) Sign-in methods

Quick Navigation

Quickstart · Architecture · User · Projects · Logins & Sign-in Prompts · Categories, Statuses & Groups · V.A.C.Q. & D.A.C.Q. Scores · Sitemap Items · Sitemap Editing · 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 that lets AI agents securely connect to external tools and data sources. It was created by Anthropic and is now governed by the Agentic AI Foundation under the Linux Foundation. Instead of writing a custom integration for every AI client, you connect one MCP server and it works with Claude, Cursor, VS Code, Windsurf, and any other MCP-compatible host.

The DYNO Mapper MCP server translates AI tool calls into DYNO Mapper actions. Your agent can plan a redesign, restructure a sitemap, audit a client site for WCAG issues, surface SEO problems, or pull keyword rankings, all through natural language.


Quickstart

⚡ Option 1: Hosted Server (recommended)

Nothing to install and no token to copy. Add the server URL to your AI client, then sign in with your DYNO Mapper account when prompted.

https://mcp.dynomapper.com/mcp

Claude (web and desktop)

  1. Open Settings → Connectors and choose Add custom connector.
  2. Name it DYNO Mapper and paste https://mcp.dynomapper.com/mcp as the server URL.
  3. Click Connect, sign in to DYNO Mapper, and approve access.

On Team and Enterprise plans, an owner may need to add the connector for the organization first.

Claude Code

claude mcp add --transport http dynomapper https://mcp.dynomapper.com/mcp

Then run /mcp inside Claude Code and choose Authenticate to sign in.

Cursor

Add this to ~/.cursor/mcp.json (or .cursor/mcp.json in a project). Cursor opens the DYNO Mapper sign-in the first time it connects.

{
  "mcpServers": {
    "dynomapper": {
      "url": "https://mcp.dynomapper.com/mcp"
    }
  }
}

VS Code

Add this to .vscode/mcp.json, then start the server from the MCP view and sign in when prompted.

{
  "servers": {
    "dynomapper": {
      "type": "http",
      "url": "https://mcp.dynomapper.com/mcp"
    }
  }
}

Any other client that supports remote MCP servers with OAuth works the same way: give it the URL and sign in.

Once connected, try a prompt like:

“List my DYNO Mapper projects, then summarize the latest SEO audit for the most recent one and give me its top three issues.”


Option 2: Local Server (npm)

Run the server on your own machine with Node.js. The local server signs in with a Personal Access Token.

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 your client’s MCP configuration

For Claude Desktop, 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. The same block works in Cursor, Windsurf, and other MCP clients that run local servers:

{
  "mcpServers": {
    "dynomapper": {
      "command": "npx",
      "args": ["-y", "@dynomapper/mcp-server"],
      "env": {
        "MCP_API_KEY": "your_personal_access_token_here"
      }
    }
  }
}

3. Restart your client

The DYNO Mapper tools will appear in your client’s tool list.

Global Install (optional)

To skip the npx download on each launch:

npm install -g @dynomapper/mcp-server

Architecture

┌──────────────┐  HTTPS · OAuth       ┌──────────────────────────┐
│  AI client   │ ───────────────────► │  mcp.dynomapper.com/mcp  │ ──┐
│  (Claude,    │                      └──────────────────────────┘   │    ┌───────────────┐
│   Cursor,    │                                                     ├──► │  DYNO Mapper  │
│   VS Code)   │  stdio · PAT (local) ┌──────────────────────────┐   │    └───────┬───────┘
│              │ ───────────────────► │  @dynomapper/mcp-server  │ ──┘            │
└──────────────┘                      └──────────────────────────┘      ┌────────┼─────────┐
                                                                        ▼        ▼         ▼
                                                                   Crawler &  Accessibility  Visibility
                                                                   Inventory     Engine      Tracking

Agents can both read and change your DYNO Mapper data. Of the 108 tools, 66 read reports, audits, analytics, rankings, and sitemaps. The other 42 create, change, or delete things: crawls and imports, sitemap items and page content, comments, categories, workflow statuses, keyword tracking, and accessibility runs.

  • Sitemap edits can be undone. They share the project’s undo history with the sitemap editor in the app, which keeps the 30 most recent edits.
  • Some deletes are permanent. Deleted comments and accessibility runs cannot be restored through the MCP server.
  • Review write actions. Most MCP clients can ask for your approval before a tool runs. Consider keeping that on for tools that change data.

The tool reference below describes the hosted server.


Tool Reference

All 108 tools are grouped into 15 modules below. Parameters use camelCase, for example projectId.

User

Tool Description
get_current_user Get the signed-in user and the account the tools act on. The quickest way to check that a connection works.

Projects

Create projects by crawling a public URL or a private SharePoint team site, or by importing a list of URLs or an XML sitemap. Track crawl status, refresh, or cancel any project operation in flight.

Tool Description
get_projects List the account’s published or archived projects, with search, sorting, and paging
get_project_details Get one project with its item, page, and container counts
create_project_from_url Crawl a website and create a project from it, with scope rules, JavaScript rendering, and optional sign-in
create_project_from_sharepoint Crawl a private SharePoint team site using a Microsoft account; the crawl pauses for MFA prompts when needed
create_project_from_file Import a project from a plain-text list of URLs or an XML sitemap, fetched from a URL
get_project_url_job_status Get the status (pending, running, saving, finished) and progress of a URL or SharePoint crawl
get_project_file_job_status Get the status of a text or XML import
cancel_project_url_job Cancel a crawl in progress
cancel_project_file_job Cancel an import in progress
refresh_project_url Re-crawl a URL project and merge the results, choosing whether to add new pages and overwrite titles, metadata, or content
refresh_project_file Re-import a file project from its source URL
cancel_project_url_refresh Cancel a refresh of a URL-based project
cancel_project_file_refresh Cancel a refresh of a file-based project

SharePoint credentials: the username and password are passed to the crawler and never stored by DYNO Mapper. Because they are tool arguments, they will appear in your AI conversation and in any client-side logs.

File imports: the hosted server cannot read files from your computer, so create_project_from_file fetches the file from a URL. A project imported from a URL can be refreshed later.

Logins & Sign-in Prompts

Crawl sites that sit behind a login. Saved login definitions are created in the DYNO Mapper app; these tools list and test them. When a crawl needs a value mid-sign-in, such as an MFA code, it pauses until you answer the prompt. Prompts expire about an hour after they appear.

Tool Description
get_project_custom_logins List the saved login definitions a crawl can sign in with
test_project_custom_login Test a saved login definition
get_project_custom_login_test_result Get the result of a login test
get_project_login_inputs List the sign-in prompts, such as an MFA code, that a crawl is waiting on
submit_project_login_input Answer a sign-in prompt so the crawl can continue

Categories, Workflow Statuses & Groups

Account-wide labels for sitemap pages. The ten built-in workflow statuses can be recoloured, reordered, and hidden, but not renamed or deleted.

Tool Description
get_project_categories List the categories available for labelling pages
create_project_category Create a category, or return it if one with that name already exists
update_project_category Rename or recolour a category
delete_project_category Remove a category from the account’s list; pages keep the value they carry
move_project_category Change a category’s position in the list
get_project_workflow_statuses List the workflow statuses, built-in and custom
create_project_workflow_status Create a workflow status, optionally nested one level under another
update_project_workflow_status Rename a custom status or recolour any status
delete_project_workflow_status Remove a status from the account’s list; pages keep the value they carry
move_project_workflow_status Reorder a status, nest it under another, or move it back to the top level
get_project_groups List the project groups

V.A.C.Q. & D.A.C.Q. Scores

V.A.C.Q. (Visibility, Accessibility, and Content Quality) scores publicly reachable sites. D.A.C.Q. (Discoverability, Accessibility, and Content Quality) scores private SharePoint projects, which have no search visibility to measure. Each pillar stays empty until it has been measured, and the overall score appears once all three are available: Accessibility needs a completed run of run_accessibility_checker, and V.A.C.Q. Visibility needs keywords tracked for the project’s domain.

Tool Description
get_project_vacq_score Get the V.A.C.Q. score for a public project
get_project_dacq_score Get the D.A.C.Q. score for a private SharePoint project

Sitemap Items

Tool Description
get_project_sitemap_items List a project’s sitemap tree, or one item’s subtree
get_project_sitemap_item_details Get one sitemap item with its metadata
get_project_sitemap_item_content Get a page’s content blocks (rich text, text, link, image, file, video)

Sitemap Editing

Build and restructure sitemaps the same way the sitemap editor does. Every edit is recorded in the project’s undo history, which is shared with the app and keeps the 30 most recent edits. Bulk tools accept up to 500 items per call.

Tool Description
create_project_sitemap_item Add a page or container to the sitemap
update_project_sitemap_item Change an item’s title, URL, metadata, category, workflow status, tags, or colours
delete_project_sitemap_item Delete an item and everything beneath it
duplicate_project_sitemap_item Copy an item and, optionally, its direct children
move_project_sitemap_item Move an item to a new parent or position
sort_project_sitemap_items Sort a container’s children by title
bulk_update_project_sitemap_items Set a category, workflow status, tags, or colours on many items at once
bulk_move_project_sitemap_items Move many items in one all-or-nothing operation
bulk_delete_project_sitemap_items Delete many items in one all-or-nothing operation
replace_project_sitemap_item_content Replace a page’s content blocks
undo_project_sitemap_edit Undo the most recent sitemap edit, whether made by an agent or in the app
redo_project_sitemap_edit Redo the most recently undone edit
get_project_sitemap_undo Preview the edit the next undo would reverse
get_project_sitemap_redo Preview the edit the next redo would replay

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 page, link, and failed-link counts for 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. Audits are run in the DYNO Mapper app; these tools read the results. The issue tools read the latest audit. Requires the Content Audit feature.

Tool Description
get_audit_results List a project’s audit runs, newest first, with the issue counts from each run
get_audit_score Get the content audit score (0 to 100) from the latest run
get_audit_broken_links Get links that returned an error (4xx, 5xx, or a failed request)
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 from the Google Analytics 4 properties linked to the project. Each request takes a start and end date. When several properties are linked, their figures are added together.

Tool Description
get_analytics_project Get traffic totals for a project over a date range
get_analytics_project_daily Get daily analytics data
get_analytics_project_traffic_source Get traffic by channel
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

Read and write comments on sitemap items. Comments are published immediately, and a deleted comment cannot be restored.

Tool Description
get_commented_items Get commented items for a project
get_item_comments Get the comment thread for one item
get_all_project_comments Get every comment in a project, newest first, with text search
create_item_comment Post a comment on a sitemap item
update_item_comment Edit a comment
delete_item_comment Delete a comment

Visibility & Keywords

Track keyword rankings on Google, Bing, and Yahoo by locale and device (desktop, tablet, or mobile), and organize keywords into groups. New keywords are checked in the background, so allow a few days for first positions.

Tool Description
get_visibility_project_ranking Get keyword rankings for a date range, with the change over that range
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 Add up to 100 keywords to track, with locale, device, and an optional group
update_visibility_keywords_group Move one or more keywords into a group, or out of all groups
update_visibility_keyword_setting Move keywords that have not been checked yet to a different locale or device

Accessibility (Web)

Run and review accessibility audits against WCAG 1.0, 2.0, 2.1, and 2.2 (levels A, AA, and AAA), Section 508, BITV 1.0, and the Stanca Act. The default is WCAG 2.2 AAA. Choose whether to record likely problems, potential problems, and manual checks. Runs are asynchronous: run_accessibility_checker returns a report id that the other tools take as reportId.

Tool Description
run_accessibility_checker Start an accessibility check of a project and return the run’s report id
get_accessibility_results List a project’s accessibility runs, newest first, with their scores and problem counts
delete_accessibility_report Delete an accessibility run
get_accessibility_report_items Get the pages checked in a run
get_accessibility_history Get finished runs as a time series, optionally within a date range
get_accessibility_score Get the current accessibility score (0 to 100) and the change since the previous run
get_accessibility_report_problems Summarize a run’s problems by guideline
get_accessibility_report_groups Get the guidelines and success criteria a run found problems in
get_accessibility_report_item_result Get the result for a specific page in a run
get_accessibility_login_inputs List the sign-in prompts, such as an MFA code, that a run is waiting on
submit_accessibility_login_input Answer a sign-in prompt so the run can continue

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 account or project level.

Tool Description
get_assignments Get a paginated list of assignments, with status, date, and tag filters
get_project_assignments Get a paginated list of assignments by project
get_assignments_totals Get total, open, completed, recent, and past-due counts across projects
get_project_assignments_totals Get the same counts for one project
get_assignment_details Get an assignment by id, with its assignees

Workflow Examples

A few prompts to illustrate how tool calls chain together in practice.

Crawl a New Site and Check Accessibility

“Create a DYNO Mapper project for example.com, wait until the crawl is done, summarize the inventory, then run a WCAG 2.2 AA check.”

create_project_from_url(url="https://example.com")        # returns the project id
get_project_url_job_status(id=…)                           # poll until status is FINISHED
get_inventory_summary(projectId=…)
run_accessibility_checker(projectId=…, guidelines=["WCAG22-AA"])   # returns the report id
get_accessibility_results(projectId=…)                     # poll until the run has a score

Review the Latest SEO Audit

“Give me the audit score for project 256 and list its 404s, missing titles, and orphan pages.”

get_audit_score(projectId=256)
get_audit_broken_links(projectId=256, search="404")
get_audit_missing_title(projectId=256)
get_audit_orphan_pages(projectId=256)

Run a WCAG Audit on an Existing Project

“Run the accessibility checker on project 412 and show me the problems grouped by guideline.”

run_accessibility_checker(projectId=412, guidelines=["WCAG22-AA"])   # returns reportId
get_accessibility_results(projectId=412)                  # poll until the run has a score
get_accessibility_score(projectId=412)
get_accessibility_report_problems(projectId=412, reportId=…)
get_accessibility_report_groups(projectId=412, reportId=…)

Track Keywords for a Client

“Add the keywords ‘enterprise CMS’, ‘headless CMS’, and ‘CMS migration’ to project 88 under a ‘CMS Core’ group, then pull their rankings for November.”

create_visibility_keyword_group(projectId=88, name="CMS Core")   # returns the group id
create_visibility_keywords(projectId=88, keywords=[...], group=…, locale="en-us", device="desktop")
get_visibility_project_ranking(projectId=88, startDate="2026-11-01", endDate="2026-11-30")

Rankings fill in as the first checks run, usually within a few days.

Crawl a Private SharePoint Site

“Crawl our SharePoint intranet at mycompany.sharepoint.com and give me its D.A.C.Q. score.”

create_project_from_sharepoint(subdomain="mycompany", username="crawler@mycompany.com", password="…")
get_project_url_job_status(id=…)                           # poll; RUNNING may mean it is waiting on MFA
get_project_login_inputs(projectId=…)                      # if a prompt is ready
submit_project_login_input(projectId=…, inputId=0, value="123456")
run_accessibility_checker(projectId=…)                     # D.A.C.Q. needs an accessibility run
get_project_dacq_score(projectId=…)

Restructure a Sitemap

“In project 512, create an Archive section, move the 2019 blog posts into it, and mark them for consolidation.”

get_project_sitemap_items(projectId=512)
create_project_sitemap_item(projectId=512, parentId=…, title="Archive")   # returns the new item id
bulk_move_project_sitemap_items(projectId=512, items=[{itemId: …, parentId: …}, …])
bulk_update_project_sitemap_items(projectId=512, itemIds=[…], workflowStatus="consolidate")
undo_project_sitemap_edit(projectId=512)                   # if you change your mind

Triage Outstanding Assignments

“Show me assignment totals across my projects, then drill into the five oldest open ones.”

get_assignments_totals()
get_assignments(status="open", orderBy="created", orderDir="asc", limit=5)
get_assignment_details(id=…)                               # for each

Refresh a Project on Demand

“Re-crawl project 256 and pick up any new pages.”

refresh_project_url(id=256, addNewPages=true, updateTitles=true)
get_project_details(projectId=256)                         # check later for updated counts

A refresh is queued and does not report progress. A project that signs in must include its login values in authOptions on every refresh.


Configuration

Hosted Server

No configuration is needed. Your client stores the sign-in after you approve access. To disconnect, remove the DYNO Mapper connector from your client.

Local Server

The local server is configured 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

  1. Log in to DYNO Mapper.
  2. Go to https://app.dynomapper.com/developer.
  3. Open the Personal Access Tokens section.
  4. 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

Have questions, run into a bug, or want to request a tool? Contact the DYNO Mapper team.