MTA:SA Documentation MCP Server
This server provides AI assistants with structured access to Multi Theft Auto: San Andreas (MTA:SA) API documentation, enabling function discovery, documentation retrieval, and cache management.
Search for functions/events: Search MTA:SA functions and events by name or partial name, with optional filtering by side (client/server/shared).
Find functions for a task: Describe a programming task (e.g., "spawn vehicle") and get semantically matched functions using vector similarity search and intelligent keyword expansion.
Get full function documentation: Retrieve detailed docs for a specific function including description, syntax, parameters, return values, and code examples — with SQLite caching for faster repeated access.
Get function code examples: Fetch only the code examples for a specific function, useful for fast code generation reference.
Batch documentation retrieval: Fetch documentation and examples for multiple functions simultaneously, ideal when implementing a feature spanning several APIs.
List functions by category: Browse all functions within categories such as
Client Functions,Server Events,Standard Lua Functions,Data Types/Classes, etc.Cache management: View cache statistics and clear cached documentation for specific functions or the entire cache.
Additional features: Built-in deprecation detection, event-first discovery, cross-runtime support (Node.js 24+, Bun 1.3+), and integration with MCP clients like Cursor, VS Code, and Claude Code.
Provides runtime support for the MTA:SA documentation MCP server, enabling cross-runtime compatibility with Bun's SQLite implementation for efficient documentation caching and retrieval.
Supports repository hosting and release automation through GitHub Actions workflows, including OIDC-based trusted publishing to npm and MCP Registry integration.
Provides CI/CD automation for verification, testing, and release workflows, including cross-runtime smoke tests and automated publishing to npm and MCP Registry.
Licensed under GNU General Public License v3.0, ensuring open-source distribution and modification rights for the MTA:SA documentation server.
Supported as a CI/CD platform in GitHub Actions workflows for verification and testing of the MTA:SA documentation MCP server.
Provides primary runtime support for the MTA:SA documentation MCP server with Node.js SQLite implementation for documentation caching and tool execution.
Enables package distribution and installation of the MTA:SA documentation MCP server, with automated publishing through GitHub Actions OIDC workflows.
Used as the package manager for development, building, and testing the MTA:SA documentation MCP server with optimized dependency management.
Provides the database backend for caching MTA:SA documentation with vector embeddings, enabling fast semantic search and intelligent function discovery.
Supported as a CI/CD platform in GitHub Actions workflows for verification, testing, and release automation of the MTA:SA documentation MCP server.
Supported as an alternative package manager for installing and running the MTA:SA documentation MCP server through dlx-style installation flows.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MTA:SA Documentation MCP Server How do I create a vehicle at a specific position?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Related MCP server: Documentation Retrieval MCP Server (DOCRET)
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-mcpor:
pnpm add -g mtasa-docs-mcpQuick install

From source
git clone https://github.com/Luminaire1337/mtasa-docs-mcp.git
cd mtasa-docs-mcp
pnpm install
pnpm buildIf your environment skips optional native dependencies, run:
pnpm install --forceMCP 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:fullUseful 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:fullpublishes to npm with provenance using trusted publishing (OIDC)
publishes
server.jsonto the MCP Registry using GitHub OIDCcreates/updates the GitHub Release from
CHANGELOG.mdverifies 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-mcpWorkflow file:
.github/workflows/release.ymlEnvironment (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-mcpConfigure MCP Registry ownership for
io.github.Luminaire1337/mtasa-docs-mcpRelease 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.
Available Tools
11 toolsclear_cacheB
Clear the MTA:SA documentation cache for a specific function or all functions.
Inputs: function_name (required).
find_events_for_taskA
Task-to-events matcher. Use when you need event names for handlers/triggers (e.g., resource lifecycle, player joins, marker hits). Returns ranked MTA:SA events only.
Inputs: task_description (required), side, limit.
find_functions_for_taskA
Task-to-functions matcher. Use this FIRST when user intent is high-level (e.g., 'vehicle dealership', 'login panel'). Returns ranked MTA:SA functions/events optimized for follow-up documentation retrieval.
Inputs: task_description (required), limit.
get_cache_statsB
Get statistics about the MTA:SA documentation cache.
Inputs: no named parameters.
get_function_docsA
Fetch authoritative docs for exactly ONE MTA:SA function/event by canonical name. Preferred over manual web browsing. For multiple names, use get_multiple_function_docs in one call.
Inputs: function_name (required), use_cache, include_optional_arguments.
get_function_examplesA
Get only code examples for one function/event after docs lookup. Use when writing implementation snippets and tests.
Inputs: function_name (required).
get_multiple_function_docsA
Batch docs retrieval for implementation phase. Provide exact function/event names (ideally from search/find tools) and get combined authoritative docs in one response.
Inputs: function_names (required), include_examples, include_optional_arguments.
list_functions_by_categoryA
Enumerate canonical function/event names in a category. Useful for discovery when query terms are vague.
Inputs: category (required), limit.
recommend_doc_workflowA
Planner tool that tells LLMs exactly which mtasa-docs tools to call next for a given task. Use this to enforce MCP-first workflows and avoid manual wiki scraping.
Inputs: task_description (required), known_function_names.
search_eventsA
Event discovery tool. Search MTA:SA client/server events only (not regular functions), then chain into docs tools with exact event names.
Inputs: query (required), side, limit.
search_functionsA
Primary discovery tool. Search MTA:SA functions and events by name or keyword before coding. Returns canonical function names with side/category so LLMs can reliably chain into docs tools.
Inputs: query (required), side, limit.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 11 tools
Each tool has a clearly distinct purpose: search tools (search_functions, search_events) differ from task matchers (find_functions_for_task, find_events_for_task), retrieval tools handle single/batch/examples, and cache/listing/planner serve unique roles. No overlap or confusion.
All tool names follow a consistent verb_noun snake_case pattern (e.g., clear_cache, search_functions, get_function_docs). No mixing of cases or verb styles, making the pattern predictable and easy to navigate.
With 11 tools, the server is well-scoped for its documentation purpose. Each tool earns its place, covering search, retrieval, cache management, category listing, and workflow planning without excess or deficiency.
The tool surface provides a complete workflow: discover (search/task matchers), retrieve (docs, examples, batch), manage (cache stats/clear), explore (category listing), and plan (workflow recommender). No obvious gaps for a documentation server.
Maintenance
Related MCP Connectors
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
An MCP server that gives your AI access to the source code and docs of all public github repos
An MCP server that integrates with Discord to provide AI-powered features.
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server implementation that provides tools for retrieving and processing documentation through vector search, enabling AI assistants to augment their responses with relevant documentation context23 npm263MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI assistants to access up-to-date documentation for Python libraries like LangChain, LlamaIndex, and OpenAI through dynamic fetching from official sources.1MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that provides full-text search over documentation using Whoosh, enabling AI assistants to find up-to-date, authoritative answers.MIT
- AlicenseAqualityDmaintenanceAn MCP server that serves documentation and enables AI-powered search, Q\&A, and document analysis for developer tools and guides.54MIT