suitest-docs
by MartinCeska
README.md
# suitest-docs-mcp
An MCP server exposing the [Suitest documentation](https://suite.st/docs/) as searchable tools for LLM clients (Claude Code, Claude Desktop, etc).
It works by crawling suite.st/docs once into local Markdown files, indexing them into a SQLite FTS5 full-text search database, then serving `search_docs` / `get_page` tools from that local index over stdio. No live network calls to suite.st happen at runtime.
> Note: `suite.st/docs/sitemap.xml` is broken upstream (every `<loc>` is the literal string `"None"`), so the crawler discovers pages by following links from the docs homepage instead.
## Setup
```sh
npm install
npm run crawl # crawls suite.st/docs -> data/pages/*.md (takes a few minutes)
npm run build-index # builds data/docs.db from data/pages/*.md
```
Re-run both commands whenever you want to refresh the content (there's no automatic re-crawl).
## Running the server
```sh
npm start
```
This starts the MCP server on stdio.
A `.mcp.json` is already checked into this project root, so any Claude Code session (CLI or the VS Code extension — no global `claude` npm install required) opened against this project will pick it up automatically:
```json
{
"mcpServers": {
"suitest-docs": {
"command": "npx",
"args": ["tsx", "src/server.ts"]
}
}
}
```
If you have the `claude` CLI installed, you can instead register it globally with:
```sh
claude mcp add suitest-docs -- npx tsx /absolute/path/to/docs-mcp/src/server.ts
```
(Or point at the compiled `dist/server.js` after running `npm run build`.)
## Tools
- `search_docs(query, limit?)` — full-text search over the indexed docs, returns ranked results with snippets.
- `get_page(url)` — fetches the full Markdown content of a page by URL (as returned by `search_docs`).
## Debugging
```sh
npx @modelcontextprotocol/inspector npx tsx src/server.ts
```
It's intentionally not a project devDependency (its `concurrently` → `shell-quote` transitive dependency currently has an unpatched critical advisory) — `npx` fetches and discards it on demand instead. If `npx` hits a stale/corrupted cached install, clear it with `npm cache clean --force` and retry, or run `npm install --no-save @modelcontextprotocol/inspector` temporarily.
## License & content
The code in this repository (crawler, indexer, MCP server) is MIT licensed — see [LICENSE](LICENSE).
The documentation content itself is © Suitest, "all rights reserved." This repo does **not** redistribute it: `data/` (crawled Markdown + the SQLite index) is gitignored and generated locally by each user via `npm run crawl && npm run build-index`.
This server cannot be deployed
Maintenance
ActivityStale
ResponsivenessNo issues