Bika MCP服务器
用于与Bika.ai平台集成的模型上下文协议(MCP)服务器。
概述
此MCP服务器与Bika.ai的数据库和自动化平台集成,使ai助手能够:
- 查询和筛选数据库记录
- 创建、更新和删除记录
- 上传和管理附件
- 使用公式和字段类型
- 访问自动化和webhooks
特性
- 数据库操作:Bika数据库上的完整CRUD操作
- 高级过滤:支持Bika的过滤查询语言
- 字段类型:以适当的类型安全处理所有23种Bika字段类型
- 附件:上传和管理文件
- 类型安全:完全支持TypeScript,具有全面的类型定义
先决条件
- Node.js>=18.0.0
- npm或纱线
- 带API访问令牌的Bika.ai帐户
安装
选项1:通过npm安装(推荐)
发布后,您可以直接通过npx进行安装:
# No installation needed! Run directly with npx
npx bika-mcp选项2:从源代码安装
# Clone the repository
git clone https://github.com/hamchowderr/bika-mcp.git
cd bika-mcp
# Install dependencies
npm install
# Build the project
npm run build配置
环境变量
服务器需要以下环境变量:
| 变量 | 必填 | 描述 |
|---|---|---|
BIKA_API_TOKEN | 是 | 您的Bika.ai API访问令牌 |
BIKA_SPACE_ID | 否 | 默认空间ID(每个工具都可以覆盖) |
设置环境变量
选项1:环境变量
# Windows
set BIKA_API_TOKEN=your-api-token-here
set BIKA_SPACE_ID=your-default-space-id
# macOS/Linux
export BIKA_API_TOKEN="your-api-token-here"
export BIKA_SPACE_ID="your-default-space-id"选项2:创建 .env 文件
创建一个 .env 项目根目录中的文件:
BIKA_API_TOKEN=your-api-token-here
BIKA_SPACE_ID=your-default-space-id用法
选项1:克劳德桌面(标准传输)
建议使用此MCP服务器的方式是使用stdio传输的Claude Desktop。
配置文件位置
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 视窗:
%APPDATA%\Claude\claude_desktop_config.json
使用npx(推荐)
添加到您的Claude Desktop配置中:
{
"mcpServers": {
"bika": {
"command": "npx",
"args": ["-y", "bika-mcp"],
"env": {
"BIKA_API_TOKEN": "your-token-here",
"BIKA_SPACE_ID": "your-default-space-id"
}
}
}
}使用本地安装
对于开发或本地安装:
{
"mcpServers": {
"bika": {
"command": "node",
"args": ["C:\\absolute\\path\\to\\bika-mcp\\dist\\index.js"],
"env": {
"BIKA_API_TOKEN": "your-token-here",
"BIKA_SPACE_ID": "your-default-space-id"
}
}
}
}重要:更新配置后重新启动Claude Desktop。
选项2:使用MCP检查员进行测试
使用官方MCP检查器在本地测试您的服务器:
# Run the inspector
npm run inspector
# Or run directly
npx @modelcontextprotocol/inspector dist/index.js这将:
- 启动MCP服务器
- 在以下位置启动检查器web界面
http://localhost:6274 - 允许您以交互方式测试工具、资源和提示
选项3:独立运行(标准)
直接运行服务器进行stdio传输:
# Build and start
npm run build
npm start
# Development mode with watch
npm run dev选项4:自定义连接器(通过Vercel进行HTTP传输)
部署为基于HTTP的MCP访问的自定义连接器。
部署到Vercel
- 初始部署:
# Install Vercel CLI if needed
npm install -g vercel
# Deploy to Vercel
npx vercel@latest- 生产部署:
npx vercel@latest --prod- 设置环境变量:
在Vercel项目设置中(设置→ 环境变量),添加:
- BIKA_API_TOKEN -您的Bika API令牌(使用Bika.ai进行身份验证所需) - BIKA_SPACE_ID -默认空间ID(可选)
- 在Claude Desktop中配置为自定义连接器:
重要:自定义连接器必须通过Claude Desktop UI配置,而不是通过 claude_desktop_config.json.
要添加自定义连接器,请执行以下操作:
1. 打开克劳德桌面 1. 首选 设置→ 连接器 1. 点击 添加自定义连接器 1. 输入您的部署URL: https://your-project.vercel.app/mcp
备注:The BIKA_API_TOKEN Vercel中的环境变量仅用于MCP服务器向Bika.ai进行身份验证。没有客户端身份验证-任何具有您的部署URL的人都可以连接到您的MCP服务器。
- 测试部署:
# Check server is responding
curl https://your-project.vercel.app何时使用每种交通工具
标准(推荐):
- 仅限本地,最高安全性
- 无网络暴露
- 最适合个人使用
HTTP(Vercel部署):
- 当您不在计算机上时进行远程访问
- 可以与需要访问您的Bika帐户的受信任人员共享URL
- 比设置VPN或远程桌面更简单
选项5:与n8n一起使用
此MCP服务器可用作n8n工作流中的MCP客户端,以实现自动化:
n8n中的设置
- 添加MCP节点 到您的工作流程
- 配置连接:
- 统一资源定位符: https://your-deployment.vercel.app/mcp - 认证:无
- 使用Bika工具 在您的自动化工作流程中
在n8n工作流中可用
所有22+Bika工具均可用于n8n:
- 使用FQL查询和过滤数据库记录
- 创建、更新、删除记录(单次和批量操作)
- 管理数据库、字段和视图
- 使用节点、Webhook和用户配置文件
- 与您的Bika工作空间完全自动化集成
示例用例
- 自动数据同步:在Bika和其他系统之间同步记录
- 计划更新:按计划批量更新记录
- Webhook处理:处理传入的webhooks并更新Bika记录
- 数据迁移:通过转换在数据库之间移动数据
- 报告:从Bika中提取数据以生成自定义报告
备注:MCP服务器必须部署到Vercel才能与n8n一起使用。n8n集成不支持本地stdio传输。
选项6:与Bika.ai ai代理一起使用
Bika.ai ai代理支持通过以下方式连接到远程MCP服务器 自定义MCP服务器 技能组合。这实现了强大的工作流,如将数据从AITable迁移到Bika。
Bika.ai中的MCP是什么?
模型上下文协议(MCP)是一个开放标准,允许AI代理连接到外部数据源和工具。在Bika.ai中,ai代理可以使用自定义MCP服务器技能集访问远程MCP服务器并扩展其功能。
设置自定义MCP服务器
- 打开AI代理编辑器 在您的Bika工作空间中
- 点击“添加” 在技能设置部分下
- 选择“自定义MCP服务器” 从技能列表中
- 输入JSON配置 对于您的MCP服务器:
{
"mcpServers": {
"bika": {
"url": "https://your-deployment.vercel.app/mcp"
}
}
}- 点击“确定” 添加MCP服务器
- 点击“保存” 完成配置
您的AI代理现在可以使用Bika MCP服务器上的所有22+工具!
将数据从AITable迁移到Bika
使用 AITable MCP服务器 在您的Bika AI代理中从AITable读取数据。然后,AI Agent可以使用Bika的原生工具将数据写入Bika数据库。
重要:你只需要 AITable MCP 在你的Bika AI代理中。Bika已经可以在本地读写自己的数据了——你不需要将这个Bika MCP服务器添加到Bika AI代理中。
Bika AI Agent中的配置:
{
"mcpServers": {
"aitable": {
"url": "https://your-aitable-mcp-deployment.vercel.app/mcp"
}
}
}迁移工作流:
- 阅读AITable -使用AITable MCP工具查询记录
- 转换数据 -AI Agent处理和映射字段
- 写信给Bika -使用Bika的原生数据库工具(无需MCP)
示例用例:
- 数据库迁移 -将整个数据库从AITable移动到Bika
- 选择性同步 -基于筛选器迁移特定记录
- 字段映射 -迁移期间转换字段类型
- 增量更新 -同步系统之间的更改
优点:
- ✅ 人工智能驱动的数据转换
- ✅ 智能现场测绘
- ✅ 无需手动编码
- ✅ 使用Bika的原生工具写入数据
了解更多:
- AITable MCP服务器 -用于读取AITable数据
- Bika自定义MCP服务器文档
备注:此Bika MCP服务器用于 Claude Desktop、n8n或其他MCP客户端 -不适用于Bika AI代理(因为Bika已经有了原生工具)。
安全
身份验证概述
此MCP服务器根据传输使用不同的身份验证策略:
标准运输(建议个人使用)
- 使用环境变量进行Bika.ai API身份验证
- 无需客户端身份验证(本地进程,无网络暴露)
- 个人使用最安全
- 通过配置
claude_desktop_config.json:
{
"mcpServers": {
"bika": {
"command": "npx",
"args": ["-y", "bika-mcp"],
"env": {
"BIKA_API_TOKEN": "your-token-here",
"BIKA_SPACE_ID": "your-default-space-id"
}
}
}
}HTTP传输(自定义连接器)
- 作为无服务器功能部署到Vercel
- 无客户端身份验证-仅基于URL的访问
- CORS已启用,支持基于浏览器的访问
- 通过Claude桌面用户界面(设置)进行配置→ 连接器)
http身份验证
HTTP传输具有 无客户端身份验证 -任何具有您的部署URL的人都可以连接。
身份验证的工作原理:
BIKA_API_TOKEN在Vercel→ 仅用于服务器→ Bika.ai API调用- MCP客户端不需要身份验证
- URL作为唯一的访问控制
安全最佳实践
关键安全警告:
- 保持存储库私有
- ⚠️ 永远不要公开此GitHub存储库 - ⚠️ 如果仓库是公共的并连接到Vercel CLI,则您的URL可能会被暴露 - ✅ 保持存储库私有 - ✅ 共享GitHub repo链接,以便其他人可以克隆和部署自己的实例
- 保持部署URL机密
- ⚠️ 您的部署URL=完全访问您的Bika帐户 - ⚠️ 任何拥有该URL的人都可以读取、创建、更新和删除您的所有Bika数据 - ⚠️ 不要公开共享您的部署URL或将其提交给git - ✅ 将部署URL视为密码 - ✅ 只与绝对值得信赖的人分享
- 保留API令牌机密
- ⚠️ 永不承诺 BIKA_API_TOKEN git(使用 .env 在本地,Vercel环境变量用于部署) - ⚠️ 永远不要共享您的API代币 - ✅ 使用Vercel环境变量进行安全存储 - ✅ 定期旋转您的API令牌
- 部署方法
- ⚠️ 不要从GitHub将存储库连接到Vercel自动部署 - ✅ 使用Vercel CLI手动部署(npx vercel --prod) - ✅ 这可以防止通过GitHub集成意外暴露URL
- 监控
- ✅ 监控Vercel访问日志以发现意外活动 - ✅ 检查您的Bika帐户中是否有异常模式 - ✅ 如果受到威胁,请重新部署以获取新的URL
建议最高安全级别:
- 使用 stdio传输 (仅限本地)而不是HTTP部署
- 仅在绝对需要远程访问时部署到Vercel
建筑
此MCP服务器支持 双重运输 遵循官方MCP模式:
标准运输(src/index.ts)
- Claude Desktop的主要入口点
- 通过stdin/stdout直接进行进程通信
- 低延迟,非常适合本地开发
- 可通过以下方式执行
npx或node dist/index.js
HTTP传输(api/server.ts)
- 支持CORS的Vercel无服务器功能
- 用途
mcp-handlerHTTP传输库 - 无客户端身份验证-仅基于URL的访问
- 支持自定义连接器部署
- 所有请求都在根路径上处理,并采用包罗万象的路由
这两种传输共享相同的核心业务逻辑,同时提供不同的通信机制。
项目结构
bika-mcp/
├── src/
│ ├── index.ts # Stdio entry point
│ ├── server.ts # MCP server setup (stdio)
│ ├── schemas.ts # Zod schemas for validation
│ ├── tools/ # MCP tool implementations
│ ├── resources/ # MCP resource providers
│ └── types/ # TypeScript type definitions
├── api/
│ ├── server.ts # HTTP entry point (Vercel)
│ └── health.ts # Health check endpoint
├── public/
│ └── index.html # Landing page
├── bika-docs/ # Bika API documentation
│ ├── api/ # API endpoints documentation
│ ├── field-cell-value/ # Field types documentation
│ ├── filter-query-language/ # FQL documentation
│ └── formulas/ # Formulas documentation
├── dist/ # Compiled output
├── package.json
├── tsconfig.json
├── vercel.json # Vercel configuration
└── README.md文档
Bika.ai集成的综合文档可以在 bika-docs/ 目录:
发展
# Clean build artifacts
npm run clean
# Build TypeScript
npm run build
# Watch mode for development
npm run dev可用工具(22+)
MCP服务器提供全面的Bika.ai集成工具:
系统工具
bika_get_system_meta-获取系统元数据和版本信息bika_list_spaces-列出所有可访问的Bika空间
数据库工具
bika_get_database-获取数据库元数据、模式和配置bika_get_database_fields-获取字段定义和模式bika_get_database_views-从数据库中获取所有视图bika_get_records_v1-带筛选功能的查询记录(v1 API)bika_list_records_v2-具有分页、排序功能的高级记录查询(v2 API)bika_get_record_v2-获取带有格式选项的单个记录(v2 API)bika_create_record_v1-创建新记录(v1 API)bika_update_record_v1-更新现有记录(v1 API)bika_update_record_v2-使用字段密钥格式更新记录(v2 API)bika_delete_record_v1-删除记录(v1 API)bika_delete_record_v2-删除记录(v2 API)bika_batch_create_records_v2-批量创建最多10条记录(v2 API)bika_batch_update_records_v2-批量更新最多10条记录(v2 API)bika_batch_delete_records_v2-批量删除最多10条记录(v2 API)
节点工具
bika_get_node-获取特定节点(数据库、文件夹等)的信息bika_list_nodes-列出空间中的所有节点
用户工具
bika_get_user_profile-获取当前用户配置文件信息
Webhook工具
bika_list_outgoing_webhooks-列出所有传出的Webhookbika_create_outgoing_webhook-创建新的传出webhookbika_delete_outgoing_webhook-删除传出的webhook
贡献
欢迎投稿!请阅读以下文档 bika-docs/ 了解API。
用于人工智能辅助开发
如果你正在使用Claude Code或其他人工智能助手来处理这个代码库,请运行 /init 生成a CLAUDE.md 包含特定于此项目的架构指导和开发模式的文件。
许可证
麻省理工学院
相关项目
AITable MCP服务器
如果您要从AITable迁移到Bika,请查看 AITable MCP服务器它为AITable提供了类似的MCP集成,使得同时使用两个服务器从AITable读取数据并将其写入Bika变得容易。
资源
- Bika.ai
- 模型上下文协议
- TypeScript SDK
- AITable MCP服务器 -用于AITable集成的MCP服务器
