MCP on My SAMP
MCP on My SAMP
Alcance: servidor local o servidores que poseas o para los que tengas permiso. No es una herramienta para automatización de servidores públicos.
¿Qué puede hacer?
MCP on My SAMP permite que un agente de IA pruebe servidores de juego con flujos de trabajo repetibles:
iniciar / detener / comprobar el estado de open.mp;
iniciar / detener / comprobar el estado de RakClient headless;
esperar a que el cliente esté realmente
Spawned;enviar comandos slash permitidos;
leer el historial de salida del cliente;
verificar que el cliente ya ha recibido la respuesta del servidor;
descubrir comandos del código fuente Pawn del gamemode;
rechazar comandos fuera de la allowlist.
No proporciona flood, spam, inyección de lag, RCON arbitrario ni automatización hacia servidores públicos.
Flujo de trabajo
flowchart LR
A[AI Agent] -->|MCP stdio| B[MCP on My SAMP]
B --> C[open.mp Server]
B --> D[Headless RakClient]
D -->|UDP localhost| C
C -->|server response| D
D --> B
B -->|assertion| APrueba válida de round-trip:
command dikirim
→ server callback menerima command
→ gamemode mengirim response
→ client menerima response
→ MCP assertion berhasilSpawned por sí solo no es prueba de que el comando haya tenido éxito.
Instalación
1. Prepara Python
Se requiere Python 3.10 o superior.
2. Instala el proyecto
Ejecuta desde la raíz del repositorio:
Windows
py -3 -m venv .venv
.venv\Scripts\activate
python -m pip install --upgrade pip
python -m pip install ".[dev]"Linux / macOS
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install ".[dev]"3. Verificación
pytest -qSalida esperada:
35 passedLos binarios de open.mp y RakClient solo son necesarios para la prueba en vivo. Las pruebas unitarias de Python se pueden ejecutar sin esos binarios.
Configuración
Crea un archivo de configuración local a partir de la plantilla:
Windows
copy config.example.json local-server.jsonLinux / macOS
cp config.example.json local-server.jsonRellena el archivo:
{
"executable": "vendor/openmp/Server/omp-server.exe",
"working_dir": "vendor/openmp/Server",
"args": ["--config-path", "config.json"],
"ready_text": "Legacy Network started on port",
"startup_timeout": 30
}Cambia executable y working_dir según la ubicación de open.mp en tu ordenador. local-server.json no se incluye en Git porque la ruta difiere en cada ordenador.
Ejecutar el servidor MCP
Solo el servidor
mcp-gta-samp --config local-server.jsonCon RakClient headless
Windows
mcp-gta-samp ^
--config local-server.json ^
--client-executable vendor/rakclient-bin/rakclient.exe ^
--client-arg --server ^
--client-arg 127.0.0.1:7777 ^
--client-arg --nick ^
--client-arg MCPBot ^
--client-arg --scripts-dir ^
--client-arg vendor/rakclient-bin/scripts ^
--gamemode-source vendor/openmp/Server/gamemodes/mcp_test.pwnLinux / macOS
mcp-gta-samp \
--config local-server.json \
--client-executable vendor/rakclient-bin/rakclient \
--client-arg --server \
--client-arg 127.0.0.1:7777 \
--client-arg --nick \
--client-arg MCPBot \
--client-arg --scripts-dir \
--client-arg vendor/rakclient-bin/scripts \
--gamemode-source vendor/openmp/Server/gamemodes/mcp_test.pwnEl transporte MCP utiliza stdio.
Herramientas MCP
Herramienta | Función |
| Enciende el servidor y espera a que esté listo. |
| Comprueba el estado del servidor y el PID. |
| Apaga el servidor. |
| Enciende el RakClient headless. |
| Comprueba el estado del cliente. |
| Apaga el cliente. |
| Envía el comando slash permitido después de |
| Recupera la salida del cliente ya almacenada en búfer. |
| Se asegura de que el cliente haya recibido una salida determinada. |
| Muestra los comandos del código fuente Pawn. |
| Valida el comando contra la allowlist. |
Las dos últimas herramientas están disponibles si se usa --gamemode-source.
Flujo de trabajo para el agente de IA
1. server_status
2. server_start jika belum berjalan
3. client_start
4. tunggu state Spawned
5. server_list_commands
6. server_assert_command("/help")
7. client_send_chat("/help")
8. client_assert_output("MCP Test Commands:")
9. client_get_history bila perlu diagnosis
10. client_stop
11. server_stopInstrucciones importantes para el agente:
no accedas a servidores públicos;
no consideres el arranque, la conexión o
Spawnedcomo un round-trip de comando;si falla, clasifica el límite: arranque, conexión, spawn, cola, paquete saliente, callback del servidor, respuesta del servidor, parser del cliente o aserción MCP;
detén siempre los procesos después de la prueba;
asegúrate de que el puerto UDP
7777vuelva a estar libre.
Ejemplo de prueba en vivo
El gamemode de prueba está disponible en:
vendor/openmp/Server/gamemodes/mcp_test.pwnComandos disponibles:
/help
/statusSi se modifica el código fuente Pawn, recompila el .amx desde la carpeta del servidor:
qawno\pawncc.exe -i.\qawno\include -o.\gamemodes\mcp_test .\gamemodes\mcp_test.pwnFlujo de trabajo en vivo:
server_start
→ client_start
→ client mencapai Spawned
→ client_send_chat("/help")
→ client_assert_output("MCP Test Commands:")
→ client_assert_output("/status - show a test response")
→ client_stop
→ server_stopEl RakClient headless demuestra el protocolo, el estado y los comandos. No genera capturas de pantalla. Las pruebas visuales requieren un cliente GTA renderizado por separado.
Desarrollo
Ejecutar las pruebas:
pytest -qCrear el wheel:
python -m pip wheel . --no-deps -w distInstalar el wheel:
python -m pip install dist/mcp_gta_samp-0.1.0-py3-none-any.whlEstructura principal:
mcp_gta_samp/ package Python dan MCP facade
tests/ unit, contract, dan bridge tests
config.example.json template konfigurasi
vendor/ binary dan fixture live testSeguridad
Este MCP limita el uso a servidores locales o propios. No incluyas credenciales, grupos de proxies, configuraciones privadas, registros privados ni datos de prueba del servidor en un repositorio público.
Si ejecutas el servidor desde internet, añade tu propia autenticación y aislamiento de red. Este paquete no está diseñado como una API pública de control de juegos.
Licencia
Licencia MIT. Consulta LICENSE.
Enlaces
Repositorio: marhenrik635-oss/mcponmysamp
Issues: informar de un problema
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Connect AI agents to Flato's editable canvas runtime through a hosted MCP server.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/marhenrik635-oss/mcponmysamp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server