SkyFi MCP服务器
SkyFi模型上下文协议(MCP)服务器,用于AI代理与地理空间数据服务的集成。
概述
SkyFi MCP使人工智能代理能够通过全面的RESTful API与SkyFi的地理空间数据服务无缝交互,并支持服务器端事件(SSE)。服务器提供:
- 订单管理:创建、跟踪和管理地理空间数据订单
- 数据搜索:地理空间数据目录的迭代搜索和探索
- 定价和可行性:检查订单可行性并获得定价估算
- 监控:使用webhook通知设置关注区域(AOI)监控
- 框架集成:原生支持ADK、LangChain和AI SDK
快速开始
先决条件
- Node.js>=18.0.0
- Docker和Docker Compose
- PostgreSQL 15+(或使用Docker Compose)
- Redis 7+(或使用Docker Compose)
安装
- 克隆存储库:
git clone
cd skyfi-mcp- 安装依赖项:
npm install- 复制环境文件:
cp .env.example .env- 更新
.env根据您的配置:
- 集 SKYFI_API_KEY 使用您的SkyFi API密钥 - 配置数据库和Redis URL - 设置安全密钥(JWT_SECRET、API_KEY_ENCRYPTION_KEY)
- 使用Docker Compose启动服务:
docker-compose up -d- 设置数据库(如果使用Docker Compose,数据库会自动创建):
# Option 1: Use the setup script
npm run db:setup
# Option 2: Manual setup
# First, ensure PostgreSQL is running, then:
psql -h localhost -U postgres -c "CREATE DATABASE skyfi_mcp"
psql -h localhost -U postgres -d skyfi_mcp -f scripts/init-db.sql- 启动开发服务器:
npm run dev服务器将在以下时间可用 http://localhost:3000
备注:即使数据库连接最初失败,服务器也会启动。您可以稍后设置数据库,服务器将在可用时连接。
发展
脚本
npm run dev-使用热重新加载启动开发服务器npm run build-将TypeScript构建为JavaScriptnpm start-启动生产服务器npm test-运行测试npm run test:watch-在监视模式下运行测试npm run test:coverage-生成测试覆盖率报告npm run lint-运行ESLintnpm run lint:fix-修复ESLint错误npm run format-使用Prettier格式化代码npm run type-check-无建筑类型检查
项目结构
skyfi-mcp/
├── src/
│ ├── server/ # Server setup and routes
│ ├── services/ # Business logic services
│ ├── repositories/ # Data access layer
│ ├── models/ # Data models and types
│ ├── auth/ # Authentication and credentials
│ ├── middleware/ # Express middleware
│ ├── utils/ # Utility functions
│ ├── config/ # Configuration
│ └── sse/ # Server-Sent Events
├── docs/ # Documentation
├── tests/ # Test files
├── scripts/ # Utility scripts
└── docker-compose.yml # Docker Compose configurationAPI 文档
API文档可在 /docs/api 当服务器正在运行时。
基础URL
- 发展:
http://localhost:3000/v1 - 生产:
https://api.skyfi-mcp.com/v1
认证
所有API请求都需要在 Authorization 头球
Authorization: Bearer YOUR_API_KEY示例请求
curl -X GET http://localhost:3000/v1/health \
-H "Authorization: Bearer YOUR_API_KEY"测试
运行测试套件:
npm test运行覆盖率测试:
npm run test:coverage码头工人
构建图像
docker build -t skyfi-mcp .运行容器
docker run -p 3000:3000 \
-e SKYFI_API_KEY=your_key \
-e DATABASE_URL=postgresql://... \
skyfi-mcpDocker Compose
启动所有服务:
docker-compose up -d停止所有服务:
docker-compose down查看日志:
docker-compose logs -f mcp-server环境变量
看 .env.example 对于所有可用的环境变量。
关键变量:
SKYFI_API_KEY-您的SkyFi API密钥(必需)DATABASE_URL-PostgreSQL连接字符串REDIS_URL-Redis连接字符串JWT_SECRET-JWT代币的秘密API_KEY_ENCRYPTION_KEY-用于加密API密钥的密钥
框架集成
腺苷酸激酶
看 docs/integration/adk.md ADK集成指南。
LangChain
看 docs/integration/langchain.md LangChain集成指南。
AI SDK
看 docs/integration/ai-sdk.md 获取AI SDK集成指南。
贡献
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
许可证
MIT许可证-有关详细信息,请参阅许可证文件
支持
如需支持,请在存储库中打开问题或联系support@skyfi.com
状态
🚧 在开发中 -该项目目前正在积极开发中。请参阅 产品需求文档 和 架构文档 了解更多详情。
______________________________________________________________________
版本: 1.0.0\ 最后更新:2025年1月
