一个专门用于实时检查签证预约可用性的MCP(模型上下文协议)服务器。
# 导航到你的项目
cd visa-checker-mcp
# 安装依赖项(比npm快20-30倍!)
bun install
# 运行标准I/O传输服务器
bun run dev:stdio
# 运行支持SSE的HTTP服务器
bun run dev:http
fetch-visa-appointments - 获取综合预约数据并进行过滤get-open-appointments - 获取仅包含可用预约的中心search-visa-centers - 使用多个过滤选项进行高级搜索visa://appointments - 完整的实时签证预约数据(JSON)visa://appointments/{country_code}/{mission_code} - 按国家代码过滤的数据visa-checker-mcp/
├── src/
│ ├── index.ts # 主MCP服务器,包括签证工具和资源
│ ├── services/
│ │ ├── visa.ts # 签证API客户端和数据处理
│ │ └── visa.test.ts # 签证服务的单元测试
│ ├── config/
│ │ └── server.ts # 服务器配置
│ └── utils/
│ └── logger.ts # 传输感知日志记录
├── package.json # 项目配置
├── tsconfig.json # TypeScript配置
└── README.md # 本文件
该服务器通过visasbot.com API提供了强大的签证预约检查功能:
fetch-visa-appointments - 获取综合签证预约数据
// 获取所有预约
await tool.call('fetch-visa-appointments', {})
// 按国家过滤(土耳其到荷兰)
await tool.call('fetch-visa-appointments', {
country_code: 'tur',
mission_code: 'nld'
})
// 按状态过滤
await tool.call('fetch-visa-appointments', {
status: 'open'
})
get-open-appointments - 获取仅包含可用预约的中心
// 获取所有开放预约
await tool.call('get-open-appointments', {})
// 按国家过滤开放预约
await tool.call('get-open-appointments', {
country_code: 'tur'
})
search-visa-centers - 使用多个过滤选项进行高级搜索
await tool.call('search-visa-centers', {
country_code: 'tur',
mission_code: 'nld',
visa_type: 'tourism',
status: 'open'
})
visa://appointments - 完整的实时签证预约数据(JSON)visa://appointments/{country_code}/{mission_code} - 按国家代码过滤的数据# 运行标准I/O传输服务器(用于进程通信)
bun run dev:stdio
# 运行支持SSE的HTTP服务器(用于基于Web的通信)
bun run dev:http
# 类型检查
bun run typecheck
# 代码检查和格式化
bun run lint
bun run format
要测试您的MCP服务器,您可以:
Claude Desktop配置示例:
{
"mcpServers": {
"visa-checker-mcp": {
"command": "/path/to/bun",
"args": ["/absolute/path/to/visa-checker-mcp/src/index.ts"]
}
}
}
获取正确的路径:
# 获取您的bun路径
which bun
# 示例输出:/Users/username/.bun/bin/bun
# 获取您的项目路径
echo "$(pwd)/src/index.ts"
# 示例输出:/Users/username/Dev/visa-checker-mcp/src/index.ts
完整的有效示例:
{
"mcpServers": {
"visa-checker-mcp": {
"command": "/Users/username/.bun/bin/bun",
"args": ["/Users/username/Dev/visa-checker-mcp/src/index.ts"]
}
}
}
适用于本地开发和CLI工具:
适用于Web应用程序和远程服务:
# 安装依赖项
bun install
# 代码检查和格式化
bun run lint
bun run format
# 构建服务器
bun run build
# 清理构建工件
bun run clean
| 指标 | npm/Express | Bun/Hono | 改进 |
|---|---|---|---|
| 安装速度 | ~15s | ~2s | 7.5倍更快 |
| 框架大小 | ~200kB | ~14kB | 93%更小 |
| 运行时开销 | 高 | 最小 | 原生TypeScript |
| 冷启动 | ~500ms | ~50ms | 10倍更快 |
git checkout -b feature/amazing-feature)git commit -m '添加惊人的功能')git push origin feature/amazing-feature)本项目采用MIT许可证 - 查看LICENSE文件了解详情。
MCP服务器JSON解析错误
如果您看到:意外的标记 '🔧', "🔧 注册"...不是有效的JSON
这发生在使用console.log()与stdio传输时。模板使用传输感知日志记录,自动使用stderr来避免干扰stdout上的JSON-RPC消息。
Claude Desktop配置问题
which bun以获取正确的命令类型检查错误
运行bun run typecheck以检查TypeScript问题。
服务器连接问题
bun run dev:stdio路径问题
# 测试bun命令是否工作
/path/to/bun --version
# 测试您的服务器是否启动
/path/to/bun /path/to/your/project/src/index.ts