Servidor MCP de Xano
Implementación de un servidor del Protocolo de Contexto de Modelo (MCP) para interactuar con la API de Xano. Este servidor proporciona herramientas y recursos para gestionar las operaciones de la base de datos de Xano a través de la interfaz MCP.
Características
Autenticación segura con la API de Xano
Interacciones de API de tipos seguros mediante TypeScript
Configuración basada en el entorno
Interfaz compatible con MCP
Herramientas de gestión del espacio de trabajo
Operaciones de contenido de tabla (crear, leer, actualizar)
Manejo de errores mejorado con mensajes detallados
Related MCP server: Xano MCP Server
Instalación
# Clone the repository
git clone [your-repo-url]
cd xano_mcp
# Install dependencies
npm installConfiguración
Copie el archivo de entorno de ejemplo:
cp .env.example .envActualice el archivo
.envcon sus credenciales de Xano:
XANO_API_KEY=your_api_key_here
XANO_API_URL=your_xano_api_url
NODE_ENV=development
API_TIMEOUT=10000Desarrollo
# Build the project
npm run build
# Run in development mode
npm run dev
# Start the server
npm startEstructura del proyecto
xano_mcp/
├── src/
│ ├── api/
│ │ └── xano/
│ │ ├── client/ # API client implementation
│ │ ├── models/ # Data models and types
│ │ ├── services/ # API service implementations
│ │ └── utils/ # Utility functions
│ ├── mcp/
│ │ ├── server/ # MCP server implementation
│ │ ├── tools/ # MCP tool implementations
│ │ └── types/ # Tool-specific types
│ ├── config.ts # Configuration management
│ └── index.ts # Main entry point
├── .env # Environment variables (not in git)
├── .env.example # Example environment variables
└── tsconfig.json # TypeScript configurationHerramientas MCP disponibles
Herramientas del espacio de trabajo
get_workspaces: enumera todos los espacios de trabajo disponibles
Herramientas de tabla
create_table: Crea una nueva tabla en un espacio de trabajoget_table_content: Obtener contenido de una tabla con soporte de paginaciónadd_table_content: Agregar nuevo contenido a una tablaupdate_table_content: Actualizar el contenido existente en una tablaget_all_tables: enumera todas las tablas en un espacio de trabajo con información detallada
Ejemplos de uso
Trabajar con espacios de trabajo
// List available workspaces
const result = await mcp.use_tool("get_workspaces", {});
console.log('Workspaces:', result);Administrar tablas
// Create a new table
const createResult = await mcp.use_tool("create_table", {
workspaceId: 123,
name: "MyTable"
});
// Add content to a table
const addResult = await mcp.use_tool("add_table_content", {
workspaceId: 123,
tableId: 456,
content: {
created_at: "2024-01-22T17:07:00.000Z"
}
});
// Get table content with pagination
const getResult = await mcp.use_tool("get_table_content", {
workspaceId: 123,
tableId: 456,
pagination: {
page: 1,
items: 50
}
});
// Update table content
const updateResult = await mcp.use_tool("update_table_content", {
workspaceId: 123,
tableId: 456,
contentId: "789",
content: {
created_at: "2024-01-22T17:07:00.000Z"
}
});
// List all tables in a workspace
const tables = await mcp.use_tool("get_all_tables", {
workspaceId: 123
});
console.log('Tables:', tables);
// Returns an array of tables with their details:
// [
// {
// id: number,
// name: string,
// description: string,
// created_at: string,
// updated_at: string,
// guid: string,
// auth: boolean,
// tag: string[],
// workspaceId: number
// },
// ...
// ]Variables de entorno
Variable | Descripción | Requerido | Por defecto |
CLAVE DE API DE XANO | Su clave de autenticación de la API de Xano | Sí | - |
URL de la API de XANO | URL del punto final de la API de Xano | Sí | - |
NODO_ENV | Medio ambiente (desarrollo/producción) | No | desarrollo |
TIEMPO DE ESPERA DE API | Tiempo de espera de la solicitud de API en milisegundos | No | 10000 |
Manejo de errores
El servidor proporciona mensajes de error detallados para:
Parámetros no válidos
Errores de autenticación
Errores en las solicitudes de API
Errores de validación de contenido
Solicitudes de herramientas desconocidas
Seguridad
Las variables de entorno se utilizan para la configuración sensible.
Se incluye la configuración de TruffleHog para evitar filtraciones de secretos.
Las claves API y los datos confidenciales nunca se envían al repositorio
Contribuyendo
Crear una rama de características
Realiza tus cambios
Enviar una solicitud de extracción
Licencia
ISC