npm mtasa-docs-mcpstdioGPL-3.0updated 4mo ago
An MCP (Model Context Protocol) server that gives AI assistants reliable, structured access to Multi Theft Auto: San Andreas documentation.
What can you do with MTA:SA Documentation MCP Server?
MTA:SA Documentation MCP Server
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.
Highlights
- 11 MCP tools for discovery, docs retrieval, cache operations, and workflow guidance
- Event-first discovery (
search_events,find_events_for_task) - Semantic task matching with SQLite vector search
- Smart keyword expansion (for example,
database->db*APIs) - Built-in deprecation detection and warnings
- Local SQLite cache with configurable lifetime
- CI verification gates, smoke tests, and release automation
Installation
Requirements:
- Node.js 24+
- Bun 1.3+ (optional runtime)
- pnpm 10+ (for local development)
Launcher note:
- You can launch/install via
npx,pnpx,bunx, or yarn dlx-style flows. - Runtime support is cross-runtime: Node.js (via
node:sqlite) and Bun (viabun:sqlite).
From npm (recommended)
npm install -g mtasa-docs-mcp
or:
pnpm add -g mtasa-docs-mcp
Quick install
From source
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
MCP Client Setup
Cursor (manual)
Global: ~/.cursor/mcp.json
Project: .cursor/mcp.json
{
"mcpServers": {
"mtasa-docs": {
"command": "npx",
"args": ["-y", "mtasa-docs-mcp"]
}
}
}
VS Code (manual)
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 Code (CLI)
claude mcp add-json mtasa-docs '{"type":"stdio","command":"npx","args":["-y","mtasa-docs-mcp"]}'
OpenCode (manual)
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
}
}
}
Antigravity (manual)
Config file: ~/.gemini/antigravity/mcp_config.json
{
"mcpServers": {
"mtasa-docs": {
"command": "npx",
"args": ["-y", "mtasa-docs-mcp"]
}
}
}
Generic MCP clients (manual)
{
"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"]
}
}
}
Available Tools
search_functionssearch_eventsfind_functions_for_taskfind_events_for_taskget_function_docsget_multiple_function_docsget_function_exampleslist_functions_by_categoryget_cache_statsrecommend_doc_workflowclear_cache
Development
pnpm build
pnpm test
pnpm test:runtime
pnpm smoke
pnpm smoke:cross-runtime
pnpm verify
pnpm verify:full
Useful checks:
pnpm check:versions- keeppackage.jsonand MCP server version alignedpnpm check:changelog- ensureCHANGELOG.mdhas 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 runtimes
Scripts are located in scripts/ (build, smoke, release guards).
Release Flow
Release automation is handled by .github/workflows/release.yml.
- Bump version in
package.jsonandsrc/index.ts. - Move release notes from
Unreleasedinto a versioned section inCHANGELOG.mdusing## [x.y.z] - YYYY-MM-DD. - Create and push a release tag:
git tag v<version> && git push origin v<version>.
Branching policy:
- Before
v1.0.0: direct pushes tomasterare allowed. - Starting at
v1.0.0: use PR-based development for all changes tomaster.
On release tag pushes (v*.*.*), the release workflow:
- checks whether the version already exists on npm
- runs
pnpm verify:full - publishes to npm with provenance using trusted publishing (OIDC)
- publishes
server.jsonto the MCP Registry using GitHub OIDC - creates/updates the GitHub Release from
CHANGELOG.md - verifies installability of the published package and runs smoke tests
Maintainer setup for npm trusted publishing
In npm package settings, configure a trusted publisher for this repository and workflow:
- Repository:
Luminaire1337/mtasa-docs-mcp - Workflow file:
.github/workflows/release.yml - Environment (if used): match your GitHub Actions configuration
Maintainer setup for MCP Registry publishing
- Ensure
server.jsonexists at repository root and uses this package name:mtasa-docs-mcp - Configure MCP Registry ownership for
io.github.Luminaire1337/mtasa-docs-mcp - Release workflow uses
mcp-publisher login github-oidcand publishes only when the npm publish gate passes
CI Workflows
.github/workflows/ci.yml- verification on push/PR tomaster(Ubuntu + macOS) and optional live wiki integration tests on labeled PRs.github/workflows/release.yml- automated publish and GitHub release on release tags (v*.*.*)
Project Docs
AGENTS.md- architecture and contributor guidanceFEATURES.md- roadmap and ideasCHANGELOG.md- release historySECURITY.md- vulnerability disclosure policy
License
GNU General Public License v3.0. See LICENSE.
Install
Add MTA:SA Documentation MCP Server to your client. Pick the one you use.
claude mcp add mtasa-docs-mcp -- npx -y mtasa-docs-mcpcodex mcp add mtasa-docs-mcp -- npx -y mtasa-docs-mcpamp mcp add mtasa-docs-mcp -- npx -y mtasa-docs-mcp{
"mcpServers": {
"mtasa-docs-mcp": {
"command": "npx",
"args": [
"-y",
"mtasa-docs-mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"mtasa-docs-mcp": {
"command": "npx",
"args": [
"-y",
"mtasa-docs-mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"mtasa-docs-mcp","command":"npx","args":["-y","mtasa-docs-mcp"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"mtasa-docs-mcp": {
"command": "npx",
"args": [
"-y",
"mtasa-docs-mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"mtasa-docs-mcp": {
"command": "npx",
"args": [
"-y",
"mtasa-docs-mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"mtasa-docs-mcp": {
"command": "npx",
"args": [
"-y",
"mtasa-docs-mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"mtasa-docs-mcp": {
"type": "local",
"command": "npx",
"args": [
"-y",
"mtasa-docs-mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"mtasa-docs-mcp": {
"command": {
"path": "npx",
"args": [
"-y",
"mtasa-docs-mcp"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y mtasa-docs-mcpRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
6 tools
MTA:SA Documentation MCP Server exposes 6 tools to a connected agent.
- search_functions
- `search_events`
- find_functions_for_task
- `find_events_for_task`
- get_function_docs
- `get_multiple_function_docs`
- get_function_examples
- `list_functions_by_category`
- get_cache_stats
- `recommend_doc_workflow`
- clear_cache
- —
Score
69 / 100
Good
- Documentation25/25
- Maintenance13/25
- Trust13/20
- Capability6/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 140 days ago
- Has a release history
- Repository is not archived
- Licensed GPL-3.0
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 6 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 1.0.3Latest | Apr 13, 2026 |
