IRIS ObjectScript MCP Server
Provides access to InterSystems IRIS ObjectScript documentation, examples, and intelligent search tools for development with IRIS database platform
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., "@IRIS ObjectScript MCP Server show me examples of how to use the %Library.String class"
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.
IRIS ObjectScript MCP Server
Model Context Protocol (MCP) server para documentación de IRIS ObjectScript. Proporciona acceso a documentación, ejemplos y herramientas de búsqueda para el desarrollo con InterSystems IRIS.
🚀 Inicio Rápido
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:insDeployment 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 statusRelated MCP server: MCP Developer Server
📁 Estructura del Proyecto
iris-mcp/
├── src/ # Código fuente TypeScript
│ ├── server.ts # Servidor MCP principal
│ ├── tools/ # Herramientas MCP
│ ├── search/ # Funciones de búsqueda
│ ├── loaders/ # Cargadores de documentación
│ ├── resources/ # Recursos MCP
│ └── request/ # Manejadores de requests
├── data/ # Datos y cache
│ └── cache/ # Cache de documentación descargada
├── deploy/ # 🐳 Archivos de Docker y deployment
│ ├── Dockerfile
│ ├── docker-compose.yml
│ ├── docker-manage.sh # Script de gestión principal
│ ├── setup-volumes.sh # Configuración de volúmenes
│ ├── iris-mcp-wrapper.sh # Wrapper para mcp.json
│ └── DOCKER.md # Documentación completa de Docker
├── package.json
├── tsconfig.json
└── README.md # Este archivo🛠️ Herramientas MCP Disponibles
smart_search- Búsqueda inteligente con descarga automáticaBusca primero en caché local
Descarga documentos relevantes si es necesario
Mapeo inteligente de términos a KEYs
search_objectscript- Búsqueda rápida solo en caché localBúsqueda instantánea en documentos descargados
Resultados con contexto y números de línea
open_by_key- Abrir documentación por KEY oficialAcceso directo a documentación específica
Descarga y cachea automáticamente
open_class- Abrir documentación de claseDocumatic para clases (ej. %Library.String)
Navegación por jerarquía de clases
🐳 Docker Deployment
Para deployment en producción, usa Docker:
Scripts de Gestión (en deploy/)
docker-manage.sh- Script principal de gestiónsetup-volumes.sh- Configuración de volúmenes bidireccionalesiris-mcp-wrapper.sh- Wrapper para usar enmcp.json
Comandos Principales
cd deploy/
# Construcción y arranque
./docker-manage.sh build # Construir imagen
./docker-manage.sh start # Iniciar contenedor
./setup-volumes.sh # Configurar permisos
# Gestión 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📋 Configuración en mcp.json
{
"mcpServers": {
"iris-objectscript-docs": {
"command": "bash",
"args": ["/ruta/completa/deploy/iris-mcp-wrapper.sh"],
"env": {
"NODE_ENV": "production"
}
}
}
}Ubicación del archivo:
macOS:
~/Library/Application Support/Claude/mcp.jsonWindows:
%APPDATA%\\Claude\\mcp.jsonLinux:
~/.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 MCPEstructura de Código
server.ts- Punto de entrada del servidor MCPtools/- Definiciones de herramientas MCPsearch/- Lógica de búsqueda (local y inteligente)loaders/- Descarga y procesamiento de documentaciónresources/- Recursos y templates MCP
📊 Volúmenes y Persistencia
Configuración Bidireccional
data/↔ Contenedor - Sincronización 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 Instalación
cd deploy/./docker-manage.sh build./docker-manage.sh start./setup-volumes.shConfigurar
mcp.json
Desarrollo Diario
./docker-manage.sh status(verificar)Trabajar normalmente en el código
./docker-manage.sh restart(si cambias código)
Actualización
git pullcd deploy/./docker-manage.sh stop./docker-manage.sh build./docker-manage.sh start
🔍 Ejemplo de Uso
# Buscar información 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 documentación específica
echo '{"jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": {"name": "open_class", "arguments": {"class": "%Library.String"}}}' | ./deploy/iris-mcp-wrapper.sh📖 Documentación Adicional
DOCKER.md - Documentación completa de Docker, scripts y troubleshooting
Logs: Revisar
logs/o./docker-manage.sh logsCache: Explorar
data/cache/para ver documentos descargados
🛡️ Seguridad
Contenedor ejecuta con usuario no-root
Sin puertos expuestos (MCP usa stdio)
Volúmenes con permisos mínimos necesarios
Imágenes 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.shPara documentación detallada de Docker y deployment, consulta deploy/DOCKER.md.
Available Tools
4 toolsopen_by_keyC
Open a documentation page by its official KEY
Inputs: key (required).
open_classC
Abre Documatic por nombre de clase (ej. %Library.String).
Inputs: class (required).
search_objectscriptC
Search for ObjectScript documentation and examples (solo en caché local)
Inputs: q (required).
smart_searchC
Búsqueda inteligente: primero en caché local, luego descarga documentos si es necesario
Inputs: q (required), keys.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
The tools have overlapping purposes that could cause confusion, particularly between search_objectscript and smart_search, which both search documentation but differ in scope (local vs. local+download). open_by_key and open_class are more distinct but still both open documentation pages. Descriptions help clarify differences, but an agent might misselect between the search tools.
Naming is inconsistent with mixed conventions: open_by_key and search_objectscript use snake_case, while open_class and smart_search use snake_case but with Spanish names in descriptions. Verb styles vary (open vs. search vs. smart_search), and there's no predictable pattern across the set, making it harder for an agent to infer tool purposes from names alone.
With 4 tools, the count is reasonable for a documentation server focused on ObjectScript. It covers key actions like opening and searching, though it might feel slightly thin if more advanced documentation interactions are needed. The scope is well-defined, and each tool appears to earn its place without obvious bloat.
For a documentation server, the tools cover opening by key/class and searching locally or with downloads, which addresses core needs. However, there are notable gaps: no tools for browsing documentation structure, listing available classes/keys, or managing the cache. This could lead to dead ends where an agent cannot navigate documentation beyond basic searches and opens.
Maintenance
Related MCP Connectors
Versioned documentation registry and semantic search for AI tools and coding assistants.
Access and search Branch's official API documentation directly within any AI agent or client.
Provide your AI coding tools with token-efficient access to up-to-date technical documentation for…
Get up-to-date, version-specific documentation and code examples from official sources directly in…
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables users to search and access AppCan mobile development platform documentation with intelligent fuzzy search, caching, and content retrieval. Provides comprehensive access to AppCan's API documentation, development guides, and tutorials through natural language queries.MIT
- AlicenseNot gradedqualityDmaintenanceProvides instant access to 700+ programming documentation sources and creates isolated Docker containers for safe code testing and experimentation. Combines comprehensive documentation lookup with containerized development environments for enhanced development workflows.AGPL 3.0
- FlicenseAqualityDmaintenanceProvides AI models with direct access to documentation for over 600 technologies from DevDocs.io, including popular languages, frameworks, and tools. It enables comprehensive searching, content retrieval, and offline access via an intelligent local caching system.122-
- FlicenseNot gradedqualityDmaintenanceProvides real-time retrieval of official documentation for LangChain, LlamaIndex, and OpenAI. It enables context-aware coding by fetching the latest API references and guides directly into Claude via the Model Context Protocol.-