使用说明
SkyFi MCP服务器
模型上下文协议(MCP)服务器实现,使AI代理能够与SkyFi的地理空间数据服务无缝交互。
概述
SkyFi MCP服务器为AI代理提供了一个标准化的接口,用于:
- 探索和搜索地理空间卫星图像数据
- 使用价格确认工作流下订单
- 使用webhooks设置关注区域(AOI)监控
- 访问以前的订单和任务历史记录
- 与各种AI框架(Claude Code、LangChain、AI SDK)集成
特性
- 会话工作流程:用于复杂地理空间任务的自然语言交互
- 价格确认:多步下单,定价透明
- AOI监测:自动通知感兴趣领域的新数据
- 多框架支持:支持Claude Code、LangChain、Vercel AI SDK等
- 类型安全:使用TypeScript 5+构建,启用严格模式
- 生产准备就绪:全面的日志记录、错误处理和测试
先决条件
- Node.js 18.0.0或更高版本
- npm或pnpm包管理器
- SkyFi API密钥(在这里买一个)
安装
本地设置
- 克隆存储库:
git clone https://github.com/skyfi/skyfi-mcp-server.git
cd skyfi-mcp-server
- 安装依赖项:
npm install
- 配置环境变量:
cp .env.example .env
# Edit .env and add your SKYFI_API_KEY
- 构建项目:
npm run build
- 启动服务器:
npm start
发展模式
在热重载的开发模式下运行服务器:
npm run dev
配置
可以使用环境变量配置服务器。复制 .env.example 到 .env 并配置:
# Required
SKYFI_API_KEY=your_api_key_here
# Optional
NODE_ENV=development
LOG_LEVEL=info
SKYFI_API_BASE_URL=https://api.skyfi.com/v1
用法
使用克劳德代码
通过添加到MCP配置中,配置Claude Code以使用SkyFi MCP服务器:
{
"mcpServers": {
"skyfi": {
"url": "http://localhost:3000",
"apiKey": "${SKYFI_API_KEY}"
}
}
}
与LangChain合作
from skyfi_mcp_client import SkyFiMCPClient
client = SkyFiMCPClient(server_url="http://localhost:3000")
使用AI SDK(Vercel)
import { SkyFiMCPClient } from '@skyfi/mcp-client';
const client = new SkyFiMCPClient({
serverUrl: 'http://localhost:3000'
});
可用工具
MCP服务器公开了以下工具:
search_geospatial_data:搜索卫星图像和地理空间数据check_order_feasibility:验证订单可行性并获取定价place_order:订购地理空间数据setup_monitoring:使用webhooks配置AOI监控get_previous_orders:检索订单历史记录
看 API 文档 了解详细的工具规格。
发展
项目结构
skyfi-mcp/
├── src/
│ ├── server/ # Server configuration and setup
│ ├── tools/ # MCP tool handlers
│ ├── api/ # SkyFi API client
│ ├── types/ # TypeScript type definitions
│ └── index.ts # Main entry point
├── tests/ # Test files
├── docs/ # Documentation
└── dist/ # Compiled output
可用脚本
npm run dev-使用热重新加载启动开发服务器npm run build-为生产而建npm start-启动生产服务器npm test-运行测试套件npm run lint-运行ESLintnpm run format-使用Prettier格式化代码npm run typecheck-运行TypeScript类型检查
测试
运行测试套件:
npm test
在监视模式下运行测试:
npm run test:watch
生成覆盖率报告:
npm run test:coverage
代码质量
本项目使用:
- TypeScript 具有严格的型号安全模式
- ESLint 用于代码过滤
- 更漂亮 用于代码格式化
- 哈士奇 用于预提交挂钩
- 玩笑 用于测试
代码质量检查在提交时通过预提交挂钩自动运行。
建筑
看 架构文档 详细的系统设计、组件架构和集成模式。
贡献
我们欢迎捐款!请看 贡献.md 作为指导方针。
开发工作流程
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 进行更改
- 运行测试和梳理(
npm test && npm run lint) - 提交您的更改(
git commit -m 'Add amazing feature') - 推到您的分支(
git push origin feature/amazing-feature) - 打开拉取请求
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
支持
- 文档: https://docs.skyfi.com/mcp
- 问题: GitHub问题
- 电子邮件:support@skyfi.com
致谢
- 与 模型上下文协议SDK
- 由...驱动 SkyFi的地理空间数据平台
状态:该项目正在积极开发中。看 项目路线图 对于即将推出的功能。
