fetch_cursor_docs
Fetch cursor_docs (https://docs.cursor.com) and convert to markdown format - Cursor Official Documentation
Turn a URL into markdown, and keep the documentation sites you read constantly — React, Next.js, Tailwind CSS, MDN, Cursor — as named tools instead of URLs you retype.
LABSCO SUMMARY
The configuration file is the real product: the wired-in set — React, Next.js, Tailwind CSS, MDN, Cursor and a group of OpenAPI and Swagger specifications — shows what the file can hold rather than fixing what it holds. Every tool is a single fetch and convert, so there is no crawl depth, no link following and no cache: one call brings back one document.
A fetch-and-convert server that renders a web page as markdown, with a configured list of sites that each become a tool of their own.
Network access from your machine to the sites being fetched; nothing else is required. Which sites get their own tool is read, in this order, from a file at WEBSITES_CONFIG_PATH, a JSON list in WEBSITES_CONFIG, or a config.json, and otherwise from the built-in set of documentation sites.
One command — npx -y website-to-markdown-mcp
USE CASES
Each wired-in docs site is its own tool, so the model reaches for react.dev or nextjs.org by name and gets the page back as markdown rather than HTML it has to wade through.
Specifications are fetched and converted the same way pages are, which covers both the OpenAPI standard itself and a working example to check a generated client against.
Anything outside the configured list still goes through the generic fetch, and the configured list can be read back to see which sites already have a tool of their own.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
fetch_cursor_docsFetch cursor_docs (https://docs.cursor.com) and convert to markdown format - Cursor Official Documentation
fetch_github_apiFetch github_api (https://raw.githubusercontent.com/github/rest-api-description/main/descriptions/api.github.com/api.github.com.json) and convert to markdown format - GitHub REST API OpenAPI Specification
fetch_mdn_web_docsFetch mdn_web_docs (https://developer.mozilla.org) and convert to markdown format - MDN Web Development Documentation
fetch_nextjsFetch nextjs (https://nextjs.org) and convert to markdown format - Next.js Official Documentation
fetch_openapi_specFetch openapi_spec (https://spec.openapis.org/oas/v3.1.0) and convert to markdown format - OpenAPI 3.1.0 Official Specification Documentation
fetch_petstore_openapiFetch petstore_openapi (https://petstore3.swagger.io/api/v3/openapi.json) and convert to markdown format - Swagger Petstore OpenAPI 3.0 Specification (Demo)
fetch_petstore_swaggerFetch petstore_swagger (https://petstore.swagger.io/v2/swagger.json) and convert to markdown format - Swagger Petstore Swagger 2.0 Specification (Demo)
fetch_reactFetch react (https://react.dev) and convert to markdown format - React Official Documentation
fetch_swagger_ui_demoFetch swagger_ui_demo (https://petstore.swagger.io/v2/swagger.yaml) and convert to markdown format - Swagger UI Demo - Swagger 2.0 YAML Format
fetch_tailwind_cssFetch tailwind_css (https://tailwindcss.com) and convert to markdown format - Tailwind CSS Official Website
fetch_websiteFetch specified website and convert to markdown format
list_configured_websitesList all configured websites
BEFORE YOU INSTALL
12 tools when we connected. Only fetch_website and list_configured_websites are fixed; the other ten fetch_* tools come from the default websites config. Pointing WEBSITES_CONFIG_PATH at your own file changes the set and count.
CONTEXT COST
Rated by the size of the 12 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
npx -y website-to-markdown-mcpCreate a my-websites.json file:
{
"websites": [
{
"name": "<YOUR_WEBSITE>",
"url": "<YOUR_WEBSITE_URL>",
"description": "<YOUR_PROJECT_WEBSITE>"
},
{
"name": "api_docs",
"url": "<YOUR_SERVER_URL>/openapi.json",
"description": "<YOUR_API_SPECIFICATION>"
}
]
}The two entries are examples; each of your own sites gets one: name is a short id you choose and becomes the tool fetch_<name>, url is the page or OpenAPI file to fetch, and description is your own label.
Add to .cursor/mcp.json:
{
"mcpServers": {
"website-to-markdown": {
"command": "npx",
"args": [
"-y",
"website-to-markdown-mcp"
],
"disabled": false,
"env": {
"WEBSITES_CONFIG_PATH": "./my-websites.json"
}
}
}
}With your file in place, its sites replace the ten preset documentation tools (fetch_react, fetch_nextjs and the rest); fetch_website and list_configured_websites stay. ./my-websites.json is looked for in the folder your client starts the server from. If the preset tools still show up, your file was not used: either it was not found — put its full path in WEBSITES_CONFIG_PATH instead — or it could not be read, so check that it is valid JSON laid out like the example, with a name and a complete url for every site.