Servidor MCP de Dixa
Una implementación del servidor FastMCP para la API de Dixa, que proporciona recursos y herramientas para gestionar conversaciones y etiquetas.
Características
Recursos
- Buscar conversaciones
- Obtener detalles de la conversación
- Obtener notas de conversación
- Obtener mensajes de conversación
- Obtener etiquetas disponibles
Herramientas
- Añadir etiquetas a las conversaciones
- Eliminar etiquetas de conversaciones
Estructura del proyecto
/src ├── dixa.ts # Configuración principal del servidor ├── config.ts # Ajustes de configuración y entorno ├── types.ts # Tipos compartidos y gestión de errores ├── resources/ # Implementaciones de recursos ├── schemas/ # Esquemas Zod para validación └── tools/ # Implementaciones de herramientas
Configuración
El servidor requiere las siguientes variables de entorno:
DIXA_API_KEY
: Tu clave de la API de DixaDIXA_API_BASE_URL
(opcional): Anula la URL de la API por defecto (por defecto es'https://dev.dixa.io/v1')
Uso
- Configura las variables de entorno:
export DIXA_API_KEY='tu-clave-api'
- Inicie el servidor:
npm start
## Ejecutando tu servidor ### Prueba con `mcp-cli` La forma más rápida de probar y depurar tu servidor es con `fastmcp dev`: ```bash npx fastmcp dev server.js npx fastmcp dev server.ts
Esto ejecutará su servidor con mcp-cli
para probar y depurar su servidor MCP en el terminal.
Inspeccionar con MCP Inspector
Otra forma es usar el Inspector MCP
oficial para inspeccionar tu servidor con una interfaz web:
npx fastmcp inspect server.ts
PREGUNTAS FRECUENTES
¿Cómo usarlo con Claude Desktop?
Siga la guía https://modelcontextprotocol.io/quickstart/user y añada la siguiente configuración:
{ "mcpServers": { "mi-servidor-mcp": { "command": "npx", "args": [ "tsx", "/PATH/TO/YOUR_PROJECT/src/index.ts" ], "env": { "TU_ENV_VAR": "value" } } }
Desarrollo
Añadir un nuevo recurso
- Crear un esquema en
src/schemas/
- Crear el recurso en
src/resources/
- Añadir el recurso a
src/dixa.ts
Ejemplo de recurso:
export const myResource = { uri: "dixa://my-resource", name: "Mi recurso", description: "Descripción", load: async (args: MyArgs, apiKey: string) => { // Implementación } }
Añadir una nueva herramienta
- Crear la herramienta en
src/tools/
- Añade la herramienta a
src/dixa.ts
Herramienta de ejemplo:
export const miHerramienta = { nombre: "Mi Herramienta", descripción: "Descripción", execute: async (args: MyArgs, apiKey: string) => { // Implementación } }
Tratamiento de errores
El proyecto utiliza clases de error personalizadas:
DixaError
: Clase de error base para errores de APIDixaValidationError
: Para fallos de validación de respuesta
Escaparate
[NOTA]
Si has desarrollado un servidor usando FastMCP, ¡por favor envía un PR para mostrarlo aquí!
- https://github.com/apinetwork/piapi-mcp-server
- https://github.com/Meeting-Baas/meeting-mcp - Servidor MCP Meeting BaaS que permite a los asistentes de IA crear bots de reuniones, buscar transcripciones y gestionar datos de grabación
Agradecimientos
- FastMCP se inspira en la implementación en Python de Jonathan Lowin.
- Partes del código base se adoptaron de LiteMCP.
- Partes de la base de código se adoptaron del protocolo Model Context protocolでSSEをやってみる.
Contribuir
- Seguir los patrones existentes para recursos y herramientas
- Añadir la documentación JSDoc adecuada
- Utilizar las utilidades compartidas en
types.ts
yconfig.ts
- Actualizar el README si se añaden nuevas características