iris-mcp
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"iris-objectscript-docs": {
"args": [
"/ruta/completa/deploy/iris-mcp-wrapper.sh"
],
"command": "bash",
"env": {
"NODE_ENV": "production"
}
}
}
}
服务介绍
IRIS ObjectScript MCP Server
Model Context Protocol (MCP) server para documentacin de IRIS ObjectScript. Proporciona acceso a documentacin, ejemplos y herramientas de bsqueda para el desarrollo con InterSystems IRIS.
Inicio Rpido
Desarrollo Local
# Instalar dependencias
npm install
# Compilar TypeScript
npm run build
# Ejecutar en modo desarrollo
npm run dev
# Ejecutar con inspector MCP
npm run dev:ins
Deployment con Docker
# Ir al directorio de deployment
cd deploy/
# Setup completo
./docker-manage.sh build
./docker-manage.sh start
./setup-volumes.sh
# Verificar funcionamiento
./docker-manage.sh status
Estructura del Proyecto
iris-mcp/
src/ # Cdigo fuente TypeScript
server.ts # Servidor MCP principal
tools/ # Herramientas MCP
search/ # Funciones de bsqueda
loaders/ # Cargadores de documentacin
resources/ # Recursos MCP
request/ # Manejadores de requests
data/ # Datos y cache
cache/ # Cache de documentacin descargada
deploy/ # Archivos de Docker y deployment
Dockerfile
docker-compose.yml
docker-manage.sh # Script de gestin principal
setup-volumes.sh # Configuracin de volmenes
iris-mcp-wrapper.sh # Wrapper para mcp.json
DOCKER.md # Documentacin completa de Docker
package.json
tsconfig.json
README.md # Este archivo
Herramientas MCP Disponibles
-
smart_search- Bsqueda inteligente con descarga automtica- Busca primero en cach local
- Descarga documentos relevantes si es necesario
- Mapeo inteligente de trminos a KEYs
-
search_objectscript- Bsqueda rpida solo en cach local- Bsqueda instantnea en documentos descargados
- Resultados con contexto y nmeros de lnea
-
open_by_key- Abrir documentacin por KEY oficial- Acceso directo a documentacin especfica
- Descarga y cachea automticamente
-
open_class- Abrir documentacin de clase- Documatic para clases (ej. %Library.String)
- Navegacin por jerarqua de clases
Docker Deployment
Para deployment en produccin, usa Docker:
Scripts de Gestin (en deploy/)
docker-manage.sh- Script principal de gestinsetup-volumes.sh- Configuracin de volmenes bidireccionalesiris-mcp-wrapper.sh- Wrapper para usar enmcp.json
Comandos Principales
cd deploy/
# Construccin y arranque
./docker-manage.sh build # Construir imagen
./docker-manage.sh start # Iniciar contenedor
./setup-volumes.sh # Configurar permisos
# Gestin diaria
./docker-manage.sh status # Ver estado
./docker-manage.sh logs # Ver logs
./docker-manage.sh restart # Reiniciar
# Mantenimiento
./docker-manage.sh cleanup # Limpiar todo
Configuracin en mcp.json
{
"mcpServers": {
"iris-objectscript-docs": {
"command": "bash",
"args": ["/ruta/completa/deploy/iris-mcp-wrapper.sh"],
"env": {
"NODE_ENV": "production"
}
}
}
}
Ubicacin del archivo:
- macOS:
~/Library/Application Support/Claude/mcp.json - Windows:
%APPDATA%\\Claude\\mcp.json - Linux:
~/.config/claude/mcp.json
Desarrollo
Scripts NPM
npm run build # Compilar TypeScript
npm run start # Ejecutar servidor compilado
npm run dev # Desarrollo (compilar + ejecutar)
npm run dev:ins # Con inspector MCP
Estructura de Cdigo
server.ts- Punto de entrada del servidor MCPtools/- Definiciones de herramientas MCPsearch/- Lgica de bsqueda (local y inteligente)loaders/- Descarga y procesamiento de documentacinresources/- Recursos y templates MCP
Volmenes y Persistencia
Configuracin Bidireccional
data/Contenedor - Sincronizacin completalogs/Contenedor - Logs compartidos
Casos de Uso
- Modificas archivos localmente Se reflejan en el contenedor
- El MCP descarga docs Aparecen en tu
data/cache/ - Backup/sync de
data/funciona normalmente
Estados y Flujos
Primera Instalacin
cd deploy/./docker-manage.sh build./docker-manage.sh start./setup-volumes.sh- Configurar
mcp.json
Desarrollo Diario
./docker-manage.sh status(verificar)- Trabajar normalmente en el cdigo
./docker-manage.sh restart(si cambias cdigo)
Actualizacin
git pullcd deploy/./docker-manage.sh stop./docker-manage.sh build./docker-manage.sh start
Ejemplo de Uso
# Buscar informacin sobre clases
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "smart_search", "arguments": {"q": "class methods"}}}' | ./deploy/iris-mcp-wrapper.sh
# Abrir documentacin especfica
echo '{"jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": {"name": "open_class", "arguments": {"class": "%Library.String"}}}' | ./deploy/iris-mcp-wrapper.sh
Documentacin Adicional
- DOCKER.md - Documentacin completa de Docker, scripts y troubleshooting
- Logs: Revisar
logs/o./docker-manage.sh logs - Cache: Explorar
data/cache/para ver documentos descargados
Seguridad
- Contenedor ejecuta con usuario no-root
- Sin puertos expuestos (MCP usa stdio)
- Volmenes con permisos mnimos necesarios
- Imgenes basadas en Alpine Linux
Troubleshooting
# Ver estado del contenedor
cd deploy/ && ./docker-manage.sh status
# Ver logs detallados
cd deploy/ && ./docker-manage.sh logs
# Reset completo
cd deploy/ && ./docker-manage.sh cleanup
cd deploy/ && ./docker-manage.sh build && ./docker-manage.sh start
# Verificar MCP manualmente
echo '{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": {"name": "test", "version": "1.0.0"}}}' | ./deploy/iris-mcp-wrapper.sh
Para documentacin detallada de Docker y deployment, consulta deploy/DOCKER.md.