MCP server for MTA:SA documentation with intelligent search and caching
An MCP (Model Context Protocol) server that gives AI assistants reliable, structured access to Multi Theft Auto: San Andreas documentation.
It combines fast keyword search, semantic matching, and SQLite-backed caching so agents can discover the right APIs and fetch authoritative docs without manual wiki scraping.
search_events, find_events_for_task)database -> db* APIs)Requirements:
Launcher note:
npx, pnpx, bunx, or yarn dlx-style flows.node:sqlite) and Bun (via bun:sqlite).npm install -g mtasa-docs-mcp
or:
pnpm add -g mtasa-docs-mcp
git clone https://github.com/Luminaire1337/mtasa-docs-mcp.git
cd mtasa-docs-mcp
pnpm install
pnpm build
If your environment skips optional native dependencies, run:
pnpm install --force
Global: ~/.cursor/mcp.json
Project: .cursor/mcp.json
{
"mcpServers": {
"mtasa-docs": {
"command": "npx",
"args": ["-y", "mtasa-docs-mcp"]
}
}
}
Workspace: .vscode/mcp.json
User: Command Palette -> MCP: Open User Configuration
{
"servers": {
"mtasa-docs": {
"command": "npx",
"args": ["-y", "mtasa-docs-mcp"]
}
}
}
Or add it from terminal:
code --add-mcp "{\"name\":\"mtasa-docs\",\"command\":\"npx\",\"args\":[\"-y\",\"mtasa-docs-mcp\"]}"
claude mcp add-json mtasa-docs '{"type":"stdio","command":"npx","args":["-y","mtasa-docs-mcp"]}'
Global config file: ~/.config/opencode/opencode.json
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"mtasa-docs": {
"type": "local",
"command": ["npx", "-y", "mtasa-docs-mcp"],
"enabled": true
}
}
}
Config file: ~/.gemini/antigravity/mcp_config.json
{
"mcpServers": {
"mtasa-docs": {
"command": "npx",
"args": ["-y", "mtasa-docs-mcp"]
}
}
}
{
"mcpServers": {
"mtasa-docs": {
"command": "node",
"args": ["/absolute/path/to/mtasa-docs-mcp/build/index.js"]
}
}
}
If mtasa-docs-mcp is already published, replace the command with:
{
"mcpServers": {
"mtasa-docs": {
"command": "npx",
"args": ["-y", "mtasa-docs-mcp"]
}
}
}
search_functionssearch_eventsfind_functions_for_taskfind_events_for_taskget_function_docsget_multiple_function_docsget_function_exampleslist_functions_by_categoryget_cache_statsrecommend_doc_workflowclear_cachepnpm build
pnpm test
pnpm test:runtime
pnpm smoke
pnpm smoke:cross-runtime
pnpm verify
pnpm verify:full
Useful checks:
pnpm check:versions - keep package.json and MCP server version alignedpnpm check:changelog - ensure CHANGELOG.md has current release headingpnpm check:tool-names - prevent legacy tool naming regressionspnpm test:runtime - run integration runtime tests for Node and Bun smoke pathspnpm smoke:cross-runtime - run smoke checks against both Node and Bun runtimesScripts are located in scripts/ (build, smoke, release guards).
Release automation is handled by .github/workflows/release.yml.
package.json and src/index.ts.Unreleased into a versioned section in
CHANGELOG.md using ## [x.y.z] - YYYY-MM-DD.git tag v<version> && git push origin v<version>.Branching policy:
v1.0.0: direct pushes to master are allowed.v1.0.0: use PR-based development for all changes to master.On release tag pushes (v*.*.*), the release workflow:
pnpm verify:fullserver.json to the MCP Registry using GitHub OIDCCHANGELOG.mdIn npm package settings, configure a trusted publisher for this repository and workflow:
Luminaire1337/mtasa-docs-mcp.github/workflows/release.ymlserver.json exists at repository root and uses this package name:
mtasa-docs-mcpio.github.Luminaire1337/mtasa-docs-mcpmcp-publisher login github-oidc and publishes only
when the npm publish gate passes.github/workflows/ci.yml - verification on push/PR to master (Ubuntu +
macOS) and optional live wiki integration tests on labeled PRs.github/workflows/release.yml - automated publish and GitHub release on
release tags (v*.*.*)AGENTS.md - architecture and contributor guidanceFEATURES.md - roadmap and ideasCHANGELOG.md - release historySECURITY.md - vulnerability disclosure policyGNU General Public License v3.0. See LICENSE.
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y mtasa-docs-mcpMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-luminaire1337-mtasa-docs-mcp": {
"command": "npx",
"args": [
"-y",
"mtasa-docs-mcp"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referencemtasa-docs-mcpnpmMTA:SA Documentation MCP Server works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.