SAMP-MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| set_server_rootB | Point the MCP server to a SAMP project directory. Automatically detects config and tracks the project. |
| rcon_commandB | Execute a command on the SAMP server via RCON |
| get_statusB | Get current server statistics (hostname, players, map, etc.) |
| get_playersB | Get the current list of players (ID, Name, Score, Ping) |
| get_rulesB | Get current server rules (gravity, weather, version, etc.) |
| compile_and_load_pawnA | Compile a Pawn script and attempt to load it into the server. This will restart the server. |
| read_server_logA | Read the last N lines of the SAMP server_log.txt |
| search_server_logA | Search for specific keywords (e.g., 'Error', 'Crash', 'Failed') in server_log.txt |
| get_server_diagnosticsB | Analyze server logs for common issues (Crash signatures, Plugin load failures, etc.) |
| read_server_cfgA | Read the SAMP server.cfg configuration file. |
| write_server_cfgA | Write/Update the entire SAMP server.cfg configuration file. |
| update_server_cfgA | Update a specific key in server.cfg (e.g., 'hostname', 'maxplayers'). |
| list_server_filesA | List files in a SAMP server subdirectory (gamemodes, plugins, include, etc.) Use this to find .pwn and .inc source files. |
| read_pawn_scriptA | MANDATORY: ALWAYS use this for .pwn/.inc files. It is the ONLY safe way to handle encoding and language. Standard tools WILL corrupt files. Optionally read only a specific line range (1-indexed). |
| write_pawn_scriptA | MANDATORY: ALWAYS use this for .pwn/.inc files. It is the ONLY safe way to handle encoding and language. Standard tools WILL corrupt files. CRITICAL: When replacing a line range, ALWAYS provide BOTH startLine AND endLine. Providing only startLine replaces only that single line. |
| search_pawn_scriptA | Search for text inside .pwn/.inc files across the entire project. Returns file paths, line numbers, and surrounding context. Much more efficient than reading entire files. |
| fuzzy_find_fileA | Find .pwn/.inc/.cfg files by partial name match. Useful when you can't remember the exact file path. |
| get_function_bodyA | Extract the complete body of a function by name from a .pwn/.inc file. Much more efficient than reading the entire file. Returns only the function code with optional doc comments. |
| restore_pawn_scriptA | Restore a .pwn/.inc file from its latest backup (or a specific backup). Use this as 'undo' when a write goes wrong. |
| list_backupsA | List available backups for a specific file or all files in the project. |
| fix_script_encodingA | Fix encoding corruption in a .pwn/.inc file. If another AI saved Thai text as UTF-8 (causing garbled characters like ยยกต), this tool converts it back to the correct Windows-874 encoding. |
| compile_pawnB | Compile a .pwn script using pawncc.exe. Returns structured error/warning list. |
| list_includesA | List available .inc files in pawno/include and other common paths. |
| read_includeC | Read a .inc file from the include directories (Thai support). |
| generate_boilerplateA | Generate SAMP code snippets. Automatically detects if the project is Thai and provides Thai strings if so. DO NOT TRANSLATE generated Thai strings. |
| get_coding_standardsA | Get the coding standards and patterns for the currently connected SAMP project. |
| get_essential_librariesA | Get a list of high-quality, popular SA-MP libraries and plugins from GitHub topics. |
| inspect_projectA | Get a summary of the project size, line counts, and estimated command/dialog counts. |
| audit_scriptA | Scan a .pwn or .inc script for potential issues (Large arrays, Hardcoded IDs, etc.) |
| player_actionA | Perform a quick RCON action on a player (kick, ban, mute) |
| generate_docsA | Generate a markdown summary of all commands and dialogs in the project. |
| check_includesA | Scan the project for #include statements that point to missing files. |
| find_shadowingA | Scan a script for potential variable shadowing (e.g., redefining playerid). |
| inject_codeB | Create a temporary Filterscript with the given code and compile it (Hot Injection). |
| audit_sqlB | Scan a script for potential SQL Injection risks (missing %e in mysql_format). |
| create_deploymentA | Batch copy all necessary server files (AMX, Plugins, CFG) to a distribution folder. |
| search_samp_resourcesB | Search the official SAMP Wiki and Forum Archive for information/examples. |
| get_snippetB | Get a common SAMP code snippet for various systems (MySQL, Login, Vehicle, etc.) |
| transform_pawn_scriptA | Clone and refactor a script (e.g. Juice -> Watermelon). MANDATORY for Thai projects to preserve encoding. DO NOT TRANSLATE Thai strings during transformation. |
| install_pluginA | Download and install a SAMP plugin (.dll/.so) and update server.cfg. Supports GitHub repos (e.g. 'IS4Code/YSF') or direct download URLs. |
| search_pluginB | Search for SAMP plugins on GitHub by name. Returns repos and available release binaries. |
| web_searchA | Search the web for general information. Useful for answering questions about SA-MP versions, plugins, game mechanics, etc. |
| audit_performanceA | Scan a script for potential performance issues (fast timers, heavy OnPlayerUpdate logic). |
| install_includeA | Download and install a .inc library from a URL (e.g. GitHub raw) into pawno/include. |
| extract_stringsB | Scan a script for all string literals. Useful for localization or cleanup. |
| get_dashboardB | Get a real-time summary of server health, players, and performance. |
| manage_serverB | Start, Stop or Restart the SAMP server process |
| check_for_updatesA | Check if a new version of SAMP-MCP is available on NPM. |
| update_mcp_serverB | Perform a self-update of the SAMP-MCP server via NPM. |
| design_featureA | Before implementing ANY new system, create a structured plan with edge case analysis. The plan is shown to the user inline for review. WAIT for explicit user confirmation before writing code. |
| review_implementationA | After implementing a feature, verify that the plan checklist is satisfied and all expected files exist. |
| aaa_mandatory_read_first_guidelinesA | CRITICAL: Call this FIRST. Returns the mandatory encoding and language rules for this specific SAMP project. |
| setup_ai_environmentA | MANDATORY SETUP: Call this to install .cursorrules and SAMP_RULES.md into your SAMP server root. This forces AI agents (Cursor, Windsurf, etc.) to use the correct tools and maintain encoding. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| SAMP_DEVELOPER_SETUP | Initialize the AI to work on this SAMP project with the correct encoding rules. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| guidelines | |
| project-info |
TDQS
Scored across 53 tools
Many tools have unclear boundaries, such as compile_pawn vs compile_and_load_pawn, get_status vs get_dashboard, read_server_log vs search_server_log vs get_server_diagnostics, and generate_boilerlate vs get_snippet. The setup/guidelines tools (set_server_root, setup_ai_environment, aaa_mandatory_read_first_guidelines) also overlap in purpose, making misselection likely.
The vast majority follow a consistent verb_noun snake_case pattern (get_players, read_server_cfg, install_plugin, audit_script), which makes the suite predictable. Minor deviations like player_action and aaa_mandatory_read_first_guidelines introduce slight inconsistency but do not break the overall convention.
With 53 tools, the surface is far above the 25+ threshold and feels bloated for an agent to navigate. Several tools could be consolidated, such as merging audit variants, setup/guideline tools, and overlapping read/diagnostics tools.
The domain coverage is impressively complete: server config, logs, player management, RCON, Pawn compilation/editing with encoding safety, backups, audits, plugin/include management, deployment, and feature workflow are all represented. Minor gaps exist (no uninstall plugin/include, no file delete/rename, no backup pruning), but there are no critical dead ends.