# VertoDigital MCP Server

> B2B marketing intelligence and lead-capture tools for vertodigital.com.

- name: com.vertodigital/mcp
- version: 2.0.0
- connection class: R0 (autonomous)
- trust: 92/100
- quality: 70/100 (needs work)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.vertodigital%2Fmcp
- tools: https://api.protogrid.dev/v1/servers/com.vertodigital%2Fmcp/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "vertodigital": {
      "type": "http",
      "url": "https://mcp.vertodigital.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 98
- freshness: 85
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-94% ~updated-32d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 70/100 (needs work)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 79 (weight 30)

- pass `tools.descriptions`: every tool has a description
- warn `tools.description_length`: 2 tools have descriptions over 1,024 characters, which crowds the context
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 6 of 6 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: vertodigital_search_case_studies (destructiveHint); vertodigital_get_contact (destructiveHint); vertodigital_get_value_proposition (destructiveHint); …
- pass `tools.token_cost`: about 2,559 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 31 tool changes in 30 days
- fail `stability.rug_pull`: 6 tools kept their name but changed most of their description in 30 days; review before trusting them

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 6, about 2,559 tokens to load them all
- tool set hash: 6f229e823485083ed53b2c578f373063
- tools last changed: 2026-10-20T07:16:13.464Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.vertodigital/mcp.svg)](https://protogrid.dev/servers/com.vertodigital/mcp)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-20 `vertodigital_get_site_index` changed (description)
  - before: Lists or searches every page on vertodigital.com. Without query, returns the site index as markdown: one link and a one-line summary per page, grouped under section headings such as Services, Industries, Case studies, Content Hub and Agent API (fetched live from /llms.txt, under 30 KB). With query, searches the title and summary of every page, including each blog post, event, ebook, video and case study from the full Content Hub and case-study indexes, and returns only the matching links grouped by section. Each link has the form https://vertodigital.com/markdown/<slug>.md, and <slug> is the input vertodigital_get_page expects. Use it to find a page; when you need what a client achieved (stats and outcomes), use vertodigital_search_case_studies instead, even for one named client, and to match a buyer's challenge to a service, use vertodigital_get_value_proposition. A page matches query when every word starts a word in its title or summary (case-insensitive, so "attribut" finds "attribution"); no match returns match_count: 0 with a hint, not an error. section narrows either mode to headings containing it, so section: "Services" with no query lists every service page; a section that matches nothing is ignored and section_found comes back false.
  - after: Lists or searches every page on vertodigital.com. Without query, returns the site index as markdown: one link and a one-line summary per page, grouped under section headings such as Services, Industries, Case studies, Content Hub and Agent API (fetched live from /llms.txt, under 30 KB). With query, searches the title and summary of every page, including each blog post, event, ebook, video and case study from the full Content Hub and case-study indexes, and returns only the matching links grouped by section. Each link has the form https://vertodigital.com/<slug>.md, and <slug> is the input vertodigital_get_page expects. Use it to find a page; when you need what a client achieved (stats and outcomes), use vertodigital_search_case_studies instead, even for one named client, and to match a buyer's challenge to a service, use vertodigital_get_value_proposition. A page matches query when every word starts a word in its title or summary (case-insensitive, so "attribut" finds "attribution"); no match returns match_count: 0 with a hint, not an error. section narrows either mode to headings containing it, so section: "Services" with no query lists every service page; a section that matches nothing is ignored and section_found comes back false.
- 2026-10-15 `vertodigital_search_case_studies` changed (description, inputSchema, outputSchema)
  - before: Searches VertoDigital's full case-study library (mostly B2B technology clients in cybersecurity, data platforms, FinTech, GTM SaaS, cloud infrastructure and more, plus consumer services brands in lending and education) and returns the matching lines as markdown, with section headings kept for context. Each match carries a case-studies/<slug> link to pass to vertodigital_get_page for the full write-up. Use it to find a specific client, or every result in an industry or channel; to find other kinds of pages (services, blog posts, events), use vertodigital_get_site_index, and for a short, curated set of flagship proof points tied to a buyer's challenge, use vertodigital_get_value_proposition with aspect: "proof_points" instead. query is matched line by line as a case-insensitive substring, not ranked full-text search, so a single keyword ("LinkedIn") finds more than a phrase ("LinkedIn ads for fintech"); omit it for the whole library (roughly 10 KB). Fetched live from the case-studies page on every call.
  - after: Searches VertoDigital's full case-study library (mostly B2B technology clients in cybersecurity, data platforms, FinTech, GTM SaaS, cloud infrastructure and more, plus consumer services brands in lending and education) and returns the matching case studies as markdown, grouped under their industry headings. Each match is one line: the headline result as a link of the form https://vertodigital.com/markdown/case-studies/<slug>.md (pass it to vertodigital_get_page for the full write-up), then a one-sentence summary naming the client, what was done (including the CRM or platform, such as HubSpot, Salesforce or Marketo, where it mattered) and the results. Use it to find a specific client, or every result in an industry, channel or tool; to find other kinds of pages (services, blog posts, events), use vertodigital_get_site_index, and for a short, curated set of flagship proof points tied to a buyer's challenge, use vertodigital_get_value_proposition with aspect: "proof_points" instead. A case study matches when every word of query starts a word in its title, summary or industry heading (case-insensitive, so "attribut" finds "attribution" and "LinkedIn fintech" finds LinkedIn work for FinTech clients), so one or two keywords find more than a sentence; no match returns match_count: 0 with a hint, not an error. Omit query for the whole library page (roughly 10 KB). Fetched live on every call.
- 2026-10-13 `vertodigital_send_enquiry` changed (description, inputSchema)
  - before: Sends a message from a user to the VertoDigital team, delivered to the team's CRM and inbox, and returns a reference ID; the team replies to fromEmail, normally within one business day. Use it for service questions, partnerships, press, careers, and to request the free Pipeline Readiness Assessment (topic: "assessment", with the company and main pipeline challenge in message). If the user only wants contact details, use vertodigital_get_contact instead. Call it only with the user's consent and their real name and email: every call creates a new enquiry (not idempotent, so do not retry a call that succeeded), and it is rate-limited, returning an isError result with a retry delay in seconds when the limit is hit. No authentication required.
  - after: Sends a message from a user to the VertoDigital team and returns a reference ID. The message lands in the team's CRM and inbox, and the team replies to fromEmail, normally within one business day. Use it for service questions, partnerships, press and careers, or to request the free Pipeline Readiness Assessment: set topic: "assessment" and put the company and main pipeline challenge in message. If the user only wants contact details, use vertodigital_get_contact instead. Call it only with the user's consent, using their real name and email. Pass organization whenever the user names their company; it is saved as the company on the CRM record. Every call creates a new enquiry, so do not retry a call that succeeded. Calls are rate-limited: over the limit, the tool returns an isError result with a retry delay in seconds. No authentication required.
- 2026-10-13 `vertodigital_get_contact` changed (description, outputSchema)
  - before: Returns who to contact at VertoDigital and how: the named growth lead, their email and LinkedIn, the reply-time commitment and the contact-form URL. Use it when a user asks how to reach the team or who to talk to. To send a message on the user's behalf, use vertodigital_send_enquiry instead; for any other page, use vertodigital_get_page. format: "summary" is served from a fixed record inside the server, so it is instant and returns only the structured contact object; "full" (the default) fetches the live /contact page as markdown, including the form fields and the direct-message option.
  - after: Returns who to contact at VertoDigital and how: the named growth lead, their email and LinkedIn, the reply-time commitment and the contact-form URL. Use it when a user asks how to reach the team or who to talk to. To send a message on the user's behalf, use vertodigital_send_enquiry instead; for any other page, use vertodigital_get_page. Pick format by what the user needs: "summary" when you only need to pass on a name, email or link, since it comes from a fixed record inside the server and is instant; the default "full" when they want to see the contact form fields or the ways to message the team, since it fetches the live /contact page. If that live fetch fails, the tool returns the summary record instead of an error, with format: "summary" and a note saying so.
- 2026-10-13 `vertodigital_search_case_studies` changed (description)
  - before: Searches VertoDigital's full case-study library (mostly B2B technology clients in cybersecurity, data platforms, FinTech, GTM SaaS, cloud infrastructure and more, plus consumer services brands in lending and education) and returns the matching lines as markdown, with section headings kept for context. Each match carries a case-studies/<slug> link to pass to vertodigital_get_page for the full write-up. Use it to find a specific client, or every result in an industry or channel; for a short, curated set of flagship proof points tied to a buyer's challenge, use vertodigital_get_value_proposition with aspect: "proof_points" instead. query is matched line by line as a case-insensitive substring, not ranked full-text search, so a single keyword ("LinkedIn") finds more than a phrase ("LinkedIn ads for fintech"); omit it for the whole library (roughly 10 KB). Fetched live from the case-studies page on every call.
  - after: Searches VertoDigital's full case-study library (mostly B2B technology clients in cybersecurity, data platforms, FinTech, GTM SaaS, cloud infrastructure and more, plus consumer services brands in lending and education) and returns the matching lines as markdown, with section headings kept for context. Each match carries a case-studies/<slug> link to pass to vertodigital_get_page for the full write-up. Use it to find a specific client, or every result in an industry or channel; to find other kinds of pages (services, blog posts, events), use vertodigital_get_site_index, and for a short, curated set of flagship proof points tied to a buyer's challenge, use vertodigital_get_value_proposition with aspect: "proof_points" instead. query is matched line by line as a case-insensitive substring, not ranked full-text search, so a single keyword ("LinkedIn") finds more than a phrase ("LinkedIn ads for fintech"); omit it for the whole library (roughly 10 KB). Fetched live from the case-studies page on every call.
- 2026-10-13 `vertodigital_get_page` changed (description, inputSchema)
  - before: Fetches one vertodigital.com page as clean markdown, with navigation, footer and scripts left out: service pages, case studies, blog posts, ebooks, event recaps, legal pages and more. Use it once you know which page you want; find slugs with vertodigital_get_site_index, or take the case-studies/<slug> links from vertodigital_search_case_studies results. For contact details alone, vertodigital_get_contact with format: "summary" is cheaper. slug is forgiving: a bare path (case-studies/ironscales), a /markdown/<slug>.md path and a full vertodigital.com URL all resolve to the same page, and an empty slug returns the homepage. Fetched live on every call. An unknown slug returns an isError result pointing to vertodigital_get_site_index, never an exception, so guessing a slug is safe.
  - after: Fetches one vertodigital.com page as clean markdown, with navigation, footer and scripts left out: service pages, case studies, blog posts, ebooks, event recaps, legal pages and more. Use it once you know which page you want; find slugs with vertodigital_get_site_index, or take the case-studies/<slug> links from vertodigital_search_case_studies results. For contact details alone, vertodigital_get_contact with format: "summary" is cheaper. slug is forgiving: a bare path (case-studies/ironscales), a /markdown/<slug>.md path and a full vertodigital.com URL all resolve to the same page; letter case, a trailing slash, a .html or .md extension and any ?query or #fragment are ignored, and an empty slug returns the homepage. Fetched live on every call and returned whole, with no pagination: most pages are under 20 KB of markdown, the longest about 37 KB. An unknown slug returns an isError result pointing to vertodigital_get_site_index, never an exception, so guessing a slug is safe.
- 2026-10-13 `vertodigital_get_site_index` changed (description, inputSchema)
  - before: Lists or searches every page on vertodigital.com. Without query, returns the site index as markdown: one link and a one-line summary per page, grouped under section headings such as Services, Industries, Case studies, Content Hub and Agent API (fetched live from /llms.txt, under 30 KB). With query, searches the title and summary of every page, including each blog post, event, ebook, video and case study from the full Content Hub and case-study indexes, and returns only the matching links grouped by section. Each link has the form https://vertodigital.com/markdown/<slug>.md, and <slug> is the input vertodigital_get_page expects. Use it to find pages on a topic; to search inside case-study text for stats and outcomes, use vertodigital_search_case_studies, and to match a buyer's challenge to a service, use vertodigital_get_value_proposition. A page matches query when every word starts a word in its title or summary (case-insensitive, so "attribut" finds "attribution"); no match returns match_count: 0 with a hint, not an error. section narrows either mode to headings containing it; a section that matches nothing is ignored and section_found comes back false.
  - after: Lists or searches every page on vertodigital.com. Without query, returns the site index as markdown: one link and a one-line summary per page, grouped under section headings such as Services, Industries, Case studies, Content Hub and Agent API (fetched live from /llms.txt, under 30 KB). With query, searches the title and summary of every page, including each blog post, event, ebook, video and case study from the full Content Hub and case-study indexes, and returns only the matching links grouped by section. Each link has the form https://vertodigital.com/markdown/<slug>.md, and <slug> is the input vertodigital_get_page expects. Use it to find a page; when you need what a client achieved (stats and outcomes), use vertodigital_search_case_studies instead, even for one named client, and to match a buyer's challenge to a service, use vertodigital_get_value_proposition. A page matches query when every word starts a word in its title or summary (case-insensitive, so "attribut" finds "attribution"); no match returns match_count: 0 with a hint, not an error. section narrows either mode to headings containing it, so section: "Services" with no query lists every service page; a section that matches nothing is ignored and section_found comes back false.
- 2026-10-09 `vertodigital_get_value_proposition` changed (inputSchema)
- 2026-10-09 `vertodigital_search_case_studies` changed (description)
  - before: Searches VertoDigital's full case-study library (B2B technology clients in cybersecurity, data platforms, FinTech, GTM SaaS, cloud infrastructure and more) and returns the matching lines as markdown, with section headings kept for context. Each match carries a case-studies/<slug> link to pass to vertodigital_get_page for the full write-up. Use it to find a specific client, or every result in an industry or channel; for a short, curated set of flagship proof points tied to a buyer's challenge, use vertodigital_get_value_proposition with aspect: "proof_points" instead. query is matched line by line as a case-insensitive substring, not ranked full-text search, so a single keyword ("LinkedIn") finds more than a phrase ("LinkedIn ads for fintech"); omit it for the whole library (roughly 10 KB). Fetched live from the case-studies page on every call.
  - after: Searches VertoDigital's full case-study library (mostly B2B technology clients in cybersecurity, data platforms, FinTech, GTM SaaS, cloud infrastructure and more, plus consumer services brands in lending and education) and returns the matching lines as markdown, with section headings kept for context. Each match carries a case-studies/<slug> link to pass to vertodigital_get_page for the full write-up. Use it to find a specific client, or every result in an industry or channel; for a short, curated set of flagship proof points tied to a buyer's challenge, use vertodigital_get_value_proposition with aspect: "proof_points" instead. query is matched line by line as a case-insensitive substring, not ranked full-text search, so a single keyword ("LinkedIn") finds more than a phrase ("LinkedIn ads for fintech"); omit it for the whole library (roughly 10 KB). Fetched live from the case-studies page on every call.
- 2026-10-07 `vertodigital_get_site_index` changed (description, inputSchema, outputSchema)
  - before: Lists every page on vertodigital.com as a markdown index: one link and a one-line summary per page, grouped under section headings such as Services, Industries, Case studies, Content Hub and Agent API. Use it to discover what exists and to find slugs: each link has the form https://vertodigital.com/markdown/<slug>.md, and <slug> is the input vertodigital_get_page expects. Prefer vertodigital_search_case_studies to find a client result and vertodigital_get_value_proposition to match a buyer's challenge to a service. Fetched live from /llms.txt on every call (under 30 KB unfiltered). section narrows the output to the first heading containing it; a section that matches nothing returns the full index with section_found: false rather than an error.
  - after: Lists or searches every page on vertodigital.com. Without query, returns the site index as markdown: one link and a one-line summary per page, grouped under section headings such as Services, Industries, Case studies, Content Hub and Agent API (fetched live from /llms.txt, under 30 KB). With query, searches the title and summary of every page, including each blog post, event, ebook, video and case study from the full Content Hub and case-study indexes, and returns only the matching links grouped by section. Each link has the form https://vertodigital.com/markdown/<slug>.md, and <slug> is the input vertodigital_get_page expects. Use it to find pages on a topic; to search inside case-study text for stats and outcomes, use vertodigital_search_case_studies, and to match a buyer's challenge to a service, use vertodigital_get_value_proposition. A page matches query when every word starts a word in its title or summary (case-insensitive, so "attribut" finds "attribution"); no match returns match_count: 0 with a hint, not an error. section narrows either mode to headings containing it; a section that matches nothing is ignored and section_found comes back false.

Full history: https://api.protogrid.dev/v1/servers/com.vertodigital%2Fmcp/changes

## Remotes

- https://mcp.vertodigital.com/mcp (streamable-http, auth none, reachable true, uptime30d 0.9385965)

## Packages

_none_

## Tools (6)

- `vertodigital_get_contact`: Returns who to contact at VertoDigital and how: the named growth lead, their email and LinkedIn, the reply-time commitment and the contact-form URL. Use it when a user asks how to reach the team or who to talk to. To send a message on the user's behalf, use vertodigital_send_enquiry instead; for any other page, use vertodigital_get_page. Pick format by what the user needs: "summary" when you only need to pass on a name, email or link, since it comes from a fixed record inside the server and is instant; the default "full" when they want to see the contact form fields or the ways to message the team, since it fetches the live /contact page. If that live fetch fails, the tool returns the summary record instead of an error, with format: "summary" and a note saying so.
- `vertodigital_get_page`: Fetches one vertodigital.com page as clean markdown, with navigation, footer and scripts left out: service pages, case studies, blog posts, ebooks, event recaps, legal pages and more. Use it once you know which page you want; find slugs with vertodigital_get_site_index, or take the case-studies/<slug> links from vertodigital_search_case_studies results. For contact details alone, vertodigital_get_contact with format: "summary" is cheaper. slug is forgiving: a bare path (case-studies/ironscales), a /markdown/<slug>.md path and a full vertodigital.com URL all resolve to the same page; letter case, a trailing slash, a .html or .md extension and any ?query or #fragment are ignored, and an empty slug returns the homepage. Fetched live on every call and returned whole, with no pagination: most pages are under 20 KB of markdown, the longest about 37 KB. An unknown slug returns an isError result pointing to vertodigital_get_site_index, never an exception, so guessing a slug is safe.
- `vertodigital_get_site_index`: Lists or searches every page on vertodigital.com. Without query, returns the site index as markdown: one link and a one-line summary per page, grouped under section headings such as Services, Industries, Case studies, Content Hub and Agent API (fetched live from /llms.txt, under 30 KB). With query, searches the title and summary of every page, including each blog post, event, ebook, video and case study from the full Content Hub and case-study indexes, and returns only the matching links grouped by section. Each link has the form https://vertodigital.com/<slug>.md, and <slug> is the input vertodigital_get_page expects. Use it to find a page; when you need what a client achieved (stats and outcomes), use vertodigital_search_case_studies instead, even for one named client, and to match a buyer's challenge to a service, use vertodigital_get_value_proposition. A page matches query when every word starts a word in its title or summary (case-insensitive, so "attribut" finds "attribution"); no match returns match_count: 0 with a hint, not an error. section narrows either mode to headings containing it, so section: "Services" with no query lists every service page; a section that matches nothing is ignored and section_found comes back false.
- `vertodigital_get_value_proposition`: Matches a buyer's challenge to VertoDigital's offer and returns up to three structured lists: services (which service fits, how it works, and a headline client result), proof_points (flagship case studies with headline stats and links) and differentiators (reasons clients choose VertoDigital, each backed by a fact). Use it to answer "can VertoDigital help with X" or "why VertoDigital"; to browse the full case-study library rather than the curated flagships, use vertodigital_search_case_studies. Matching runs against a curated keyword list inside the server, not the live site, so it is instant and deterministic. A full sentence works as a query, since an item matches when one of its keywords appears in it; a query that matches nothing returns empty lists rather than an error, so retry with a broader term such as "attribution". aspect limits the response to one list.
- `vertodigital_search_case_studies`: Searches VertoDigital's full case-study library (mostly B2B technology clients in cybersecurity, data platforms, FinTech, GTM SaaS, cloud infrastructure and more, plus consumer services brands in lending and education) and returns the matching case studies as markdown, grouped under their industry headings. Each match is one line: the headline result as a link of the form https://vertodigital.com/markdown/case-studies/<slug>.md (pass it to vertodigital_get_page for the full write-up), then a one-sentence summary naming the client, what was done (including the CRM or platform, such as HubSpot, Salesforce or Marketo, where it mattered) and the results. Use it to find a specific client, or every result in an industry, channel or tool; to find other kinds of pages (services, blog posts, events), use vertodigital_get_site_index, and for a short, curated set of flagship proof points tied to a buyer's challenge, use vertodigital_get_value_proposition with aspect: "proof_points" instead. A case study matches when every word of query starts a word in its title, summary or industry heading (case-insensitive, so "attribut" finds "attribution" and "LinkedIn fintech" finds LinkedIn work for FinTech clients), so one or two keywords find more than a sentence; no match returns match_count: 0 with a hint, not an error. Omit query for the whole library page (roughly 10 KB). Fetched live on every call.
- `vertodigital_send_enquiry`: Sends a message from a user to the VertoDigital team and returns a reference ID. The message lands in the team's CRM and inbox, and the team replies to fromEmail, normally within one business day. Use it for service questions, partnerships, press and careers, or to request the free Pipeline Readiness Assessment: set topic: "assessment" and put the company and main pipeline challenge in message. If the user only wants contact details, use vertodigital_get_contact instead. Call it only with the user's consent, using their real name and email. Pass organization whenever the user names their company; it is saved as the company on the CRM record. Every call creates a new enquiry, so do not retry a call that succeeded. Calls are rate-limited: over the limit, the tool returns an isError result with a retry delay in seconds. No authentication required.
