地理空间数据服务集成

SkyFi MCP是一个用于AI代理与地理空间数据服务集成的服务器,提供订单管理、数据搜索、定价评估、区域监控和框架集成等功能。

  • by Davaakhatan
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 Davaakhatan/skyfi-mcp

使用说明

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)

安装

  1. 克隆存储库:
git clone <repository-url>
cd skyfi-mcp
  1. 安装依赖项:
npm install
  1. 复制环境文件:
cp .env.example .env
  1. 更新 .env 根据您的配置:

    • 集 SKYFI_API_KEY 使用您的SkyFi API密钥
    • 配置数据库和Redis URL
    • 设置安全密钥(JWT_SECRET、API_KEY_ENCRYPTION_KEY)
  2. 使用Docker Compose启动服务:

docker-compose up -d
  1. 设置数据库(如果使用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
  1. 启动开发服务器:
npm run dev

服务器将在以下时间可用 http://localhost:3000

备注:即使数据库连接最初失败,服务器也会启动。您可以稍后设置数据库,服务器将在可用时连接。

发展

脚本

  • npm run dev -使用热重新加载启动开发服务器
  • npm run build -将TypeScript构建为JavaScript
  • npm start -启动生产服务器
  • npm test -运行测试
  • npm run test:watch -在监视模式下运行测试
  • npm run test:coverage -生成测试覆盖率报告
  • npm run lint -运行ESLint
  • npm 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 configuration

API 文档

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-mcp

Docker 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集成指南。

贡献

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

许可证

MIT许可证-有关详细信息,请参阅许可证文件

支持

如需支持,请在存储库中打开问题或联系support@skyfi.com

状态

🚧 在开发中 -该项目目前正在积极开发中。请参阅 产品需求文档 和 架构文档 了解更多详情。


版本: 1.0.0
最后更新:2025年1月