X

Xano MCP连接器

@SarimSiddd/xano_mcp
0 Stars 9 次浏览 SarimSiddd 更新于 2026-08-23

通过模型上下文协议(MCP)接口启用与Xano API的交互,提供对Xano数据库操作的安全且类型安全的管理。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

Xano MCP 服务器

一个用于与 Xano API 交互的模型上下文协议 (MCP) 服务器实现。该服务器通过 MCP 接口提供了管理和操作 Xano 数据库所需的工具和资源。

功能

  • 与 Xano API 的安全认证
  • 使用 TypeScript 进行类型安全的 API 交互
  • 基于环境的配置
  • 符合 MCP 标准的接口
  • 工作区管理工具
  • 表内容操作(创建、读取、更新)
  • 改进的错误处理,带有详细消息

安装

# Clone the repository
git clone [your-repo-url]
cd xano_mcp

# Install dependencies
npm install

配置

  1. 复制示例环境文件:
cp .env.example .env
  1. 使用您的 Xano 凭证更新 .env 文件:
XANO_API_KEY=your_api_key_here
XANO_API_URL=your_xano_api_url
NODE_ENV=development
API_TIMEOUT=10000

开发

# Build the project
npm run build

# Run in development mode
npm run dev

# Start the server
npm start

项目结构

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 configuration

可用的 MCP 工具

工作区工具

  • get_workspaces: 列出所有可用的工作区

表工具

  • create_table: 在工作区中创建新表
  • get_table_content: 获取带分页支持的表内容
  • add_table_content: 向表中添加新内容
  • update_table_content: 更新表中的现有内容
  • get_all_tables: 列出工作区中所有表及其详细信息

使用示例

操作工作区

// List available workspaces
const result = await mcp.use_tool("get_workspaces", {});
console.log('Workspaces:', result);

管理表

// 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
//   },
//   ...
// ]

环境变量

变量 描述 是否必需 默认值
XANO_API_KEY 您的 Xano API 认证密钥 -
XANO_API_URL Xano API 终端 URL -
NODE_ENV 环境(开发/生产) development
API_TIMEOUT API 请求超时时间(毫秒) 10000

错误处理

服务器为以下情况提供详细的错误信息:

  • 无效参数
  • 认证失败
  • API 请求失败
  • 内容验证错误
  • 未知工具请求

安全性

  • 敏感配置使用环境变量
  • 包含 TruffleHog 配置以防止机密泄露
  • API 密钥和敏感数据永远不会提交到仓库

贡献

  1. 创建功能分支
  2. 进行更改
  3. 提交拉取请求

许可证

ISC

相关 MCP 服务