Servidor MCP de eRegulations

Implementación de un servidor de Protocolo de Contexto de Modelo (MCP) para acceder a los datos de la API de eRegulations. Este servidor proporciona acceso estructurado y optimizado para IA a las instancias de eRegulations, lo que facilita que los modelos de IA respondan a las preguntas de los usuarios sobre los procedimientos administrativos.
Características
Acceda a los datos de eRegulations a través de un protocolo estandarizado
Consulta procedimientos, pasos, requisitos y costos
Plantillas de indicaciones de MCP para guiar el uso de la herramienta LLM
Implementación optimizada mediante conexiones de E/S estándar
Related MCP server: MCP Boilerplate
Uso
Ejecutar con Docker (recomendado)
La forma recomendada de ejecutar el servidor es usar la imagen de Docker publicada desde el Registro de Contenedores de GitHub (GHCR). Esto garantiza un entorno consistente y aislado.
# Pull the latest image (optional)
docker pull ghcr.io/unctad-ai/eregulations-mcp-server:latest
# Run the server, providing the target eRegulations API URL
export EREGULATIONS_API_URL="https://your-eregulations-api.com"
docker run -i --rm -e EREGULATIONS_API_URL ghcr.io/unctad-ai/eregulations-mcp-server
Reemplace https://your-eregulations-api.com con la URL base real de la instancia de eRegulations a la que desea conectarse (por ejemplo, https://api-tanzania.tradeportal.org ).
El servidor escucha las solicitudes JSON de MCP en la entrada estándar y envía respuestas a la salida estándar.
Ejemplo de configuración de cliente
A continuación se muestra un ejemplo de cómo se podría configurar un cliente (como Claude) para usar este servidor a través de Docker:
{
"mcpServers": {
"eregulations": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"EREGULATIONS_API_URL",
"ghcr.io/unctad-ai/eregulations-mcp-server:latest"
],
"env": {
"EREGULATIONS_API_URL": "https://your-eregulations-api.com"
}
}
}
}
(Recuerde reemplazar también el valor EREGULATIONS_API_URL en la sección env ).
Instalación mediante herrería
Alternativamente, puedes instalar y ejecutar el servidor usando Smithery:
Visite https://smithery.ai/server/@unctad-ai/eregulations-mcp-server para obtener el comando de instalación.
Instalación a través del Registro npm (obsoleto)
~~Ejecutar el servidor directamente usando npx está obsoleto debido a posibles inconsistencias del entorno.~~
~~```golpe
Obsoleto: Establezca variables de entorno y ejecute con npx
exportar EREGULATIONS_API_URL= https://ejemplo.com/api && exportar NODE_ENV=producción && npx -y @unctad-ai/eregulations-mcp-server@latest
## Configuration
The server requires the URL of the target eRegulations API.
### Environment Variables
- `EREGULATIONS_API_URL`: **(Required)** URL of the eRegulations API to connect to (e.g., `https://api-tanzania.tradeportal.org`). Passed to the Docker container using the `-e` flag.
## Available Tools
The MCP server provides the following tools:
### `listProcedures`
Lists all available procedures in the eRegulations system.
### `getProcedureDetails`
Gets detailed information about a specific procedure by its ID.
Parameters:
- `procedureId`: ID of the procedure to retrieve
### `getProcedureStep`
Gets information about a specific step within a procedure.
Parameters:
- `procedureId`: ID of the procedure
- `stepId`: ID of the step within the procedure
### `searchProcedures`
Searches for procedures by keyword or phrase. Note: This currently searches related objectives based on the underlying API and may include results beyond direct procedure names.
Parameters:
- `keyword`: The keyword or phrase to search for
## Prompt Templates
The server provides prompt templates to guide LLMs in using the available tools correctly. These templates explain the proper format and parameters for each tool. LLM clients that support the MCP prompt templates capability will automatically receive these templates to improve their ability to work with the API.
## Development
```bash
# Run in development mode
npm run start
# Run tests
npm test
# Run tests with watch mode
npm run test:watch
# Run test client
npm run test-client
```