MCP server
Point your coding assistant at these pages. One address, no install, no key — so it writes your integration against the API as it is deployed rather than against whatever it remembers.
What it is
An MCP server that serves these documentation pages to your coding assistant. Add the address once and Claude, Cursor, VS Code or anything else that speaks the protocol can search and read the docs while it writes your integration, instead of recalling an API it was never trained on.
https://montvo.com/api/mcpIt is hosted by us, so there is nothing to install and nothing to keep up to date. It reads the same content these pages render — not an export of it — so an answer it gives cannot be older than the site.
Connecting it
Every client wants the same address; they differ only in where you put it.
claude mcp add --transport http montvo-docs https://montvo.com/api/mcpMost others take a JSON block. This is the shape Cursor, Claude Desktop and the majority of clients use — in Cursor it goes in .cursor/mcp.json in your project, or ~/.cursor/mcp.json for every project:
{ "mcpServers": { "montvo-docs": { "url": "https://montvo.com/api/mcp" } }}VS Code names the block servers and asks for the transport, in .vscode/mcp.json:
{ "servers": { "montvo-docs": { "type": "http", "url": "https://montvo.com/api/mcp" } }}Somewhere with a settings screen instead
The tools
search_docsquery, limit- Matching sections in full, as Markdown, each with the address it came from. Matches terms rather than meanings, so exact names work best —
data-exclude,/unlocks/:token,billable. read_docpath- One whole page, code samples included.
list_docs- Every page, with a line each. Cheap, for working out what exists.
report_problemwhen something is wrong- Triages a symptom first — a wrong key kind and an aged-out token account for most of what looks like a fault, and it says so rather than sending you anywhere. What is genuinely ours comes back as a report with the endpoint, the time and the key prefix already in it, which is what lets us find the exact call in our log instead of asking you to reproduce it.
Read-only, all four. There is no tool here that can make a link, read your stats or touch an account — this server has no idea who you are, and that is on purpose.
Never let an assistant put a key in a tool call
report_problem takes a key_prefix, meaning the first dozen characters — enough to find your account in a log, useless to anyone who reads it. It cuts anything longer down to that, but the safe habit is not to hand it a whole key in the first place.What it is not
| Does it need a key? | No. It serves published documentation, so there is nothing to authenticate. |
| Can it reach my account? | No. It has three tools and all three read documentation. Your links, keys, stats and payouts are behind the REST API, which this server does not call. |
| Does it send you my code? | No. Your client sends a search query and we send documentation back. What your assistant does with your files is between you and your client. |
| Is there an MCP server for the API itself? | Not yet. This one is documentation only. If you want an assistant to create links or read stats, give it the REST API and a secret key of your own. |
Checking it works
Ask your assistant something only these pages can answer — “what does data-exclude do on the Montvo tag?” is a good one, because a model that is guessing will invent something plausible about excluding links and a model that is reading will tell you that the page's own hostname is always excluded anyway.
Or ask the server directly, without a client at all:
curl -s -X POST https://montvo.com/api/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'It answers with the three tools above. If it does not, the address is wrong or your network is in the way.
- The transport is Streamable HTTP over
POST. There is no event stream, so aGETanswers405— which is what the protocol says to do, and clients carry on. - No session is issued. Every call stands alone, so there is nothing for a client to lose and reconnect.