生产环境托管(无需设置):https://mcp.io-aerospace.org/
传输协议:
- 流式HTTP(推荐):https://mcp.io-aerospace.org/ - 现代MCP传输协议
- SSE(遗留):https://mcp.io-aerospace.org/sse - 仅用于与旧版MCP客户端的向后兼容性
注意:使用基础URL与现代MCP客户端 - 它们会自动使用流式HTTP传输。只有在使用需要SSE协议的旧版客户端时才使用
/sse端点。
这是一个用于航空航天和航天动力学计算的模型上下文协议(MCP)服务器,提供天体星历、轨道力学和空间任务分析工具。
此MCP服务器提供了两种传输选项:
/sse端点上可用,用于向后兼容性该服务器包括全面的工具:
此服务器由IO Aerospace航天动力学框架驱动,该框架提供了星历、轨道力学、几何和时间系统的内核算法。
您可以立即开始针对生产实例进行集成:
重要:现代MCP客户端(2024+)应使用基础URL和流式HTTP传输。SSE端点仅为了与旧实现的向后兼容性而维护。
示例(遗留SSE - 浏览器/Node):
// 仅当您有需要SSE的旧版客户端时才使用此方法
const eventSource = new EventSource('https://mcp.io-aerospace.org/sse');
eventSource.onmessage = (event) => {
console.log('消息', event.data);
};
eventSource.onerror = (err) => {
console.error('SSE错误', err);
};
自托管是可选的;请参阅以下Docker和.NET指令。
mcp-server/
├── AI/ # AI工具和模型
│ ├── Tools/ # 核心计算工具
│ ├── Models/ # 数据模型和类型
│ └── Converters/ # 类型转换器
├── Data/ # 数据提供者和太阳系内核
│ ├── SolarSystem/ # SPICE内核文件
│ └── SolarSystemObjects/ # 天体定义
├── Server.Http/ # HTTP传输服务器(流式HTTP + 遗留SSE)
├── Server.Stdio/ # STDIO传输服务器
├── docker-compose.yml # 开发Docker配置
├── docker-compose.prod.example.yml # 生产模板
└── deploy-production.sh # 生产部署脚本
git clone https://github.com/IO-Aerospace-software-engineering/mcp-server
cd mcp-server
docker-compose up
HTTP服务器将在http://localhost:8080上可用。
docker-compose.prod.example.yml复制到docker-compose.prod.yml./data/solarsystem/./deploy-production.sh
git clone https://github.com/IO-Aerospace-software-engineering/mcp-server
cd mcp-server
dotnet build
服务器需要SPICE内核进行太阳系计算。
-k <path>,--kernels <path>,或--kernels-path <path>示例:
# 使用CLI标志
./Server.Stdio -k /path/to/your/spice/kernels
# 使用环境变量(Linux/macOS)
export IO_DATA_DIR="/path/to/your/spice/kernels"
./Server.Stdio
# Windows(PowerShell)
$env:IO_DATA_DIR="C:\path\to\your\spice\kernels"
./Server.Stdio.exe
所需内核文件:
kernels/
├── de440s.bsp # 行星星历
├── latest_leapseconds.tls # 秒差距
├── pck00011.tpc # 行星常数
├── earth_latest_high_prec.bpc # 地球定向
└── ... # 其他内核文件
# 在发布或下载适用于您的操作系统的发布资产之后
./Server.Stdio -k /path/to/kernels
cd Server.Http
dotnet run
# 服务器在http://localhost:8080上可用
docker-compose.yml./Data/SolarSystemdocker-compose updocker-compose.prod.yml(从示例创建)./data/solarsystemdeploy-production.sh自动化注意:许多MCP客户端使用基于JSON的配置文件,但模式因客户端而异。下面的JSON示例使用Claude Desktop的模式;根据您的客户端格式调整键。
添加到您的Claude Desktop配置:
{
"mcpServers": {
"astrodynamics": {
"command": "/path/to/Server.Stdio",
"args": ["-k", "/path/to/kernels"]
}
}
}
或者,如果您的客户端支持,设置环境变量:
{
"mcpServers": {
"astrodynamics": {
"command": "/path/to/Server.Stdio",
"args": [],
"env": {
"IO_DATA_DIR": "/path/to/kernels"
}
}
}
}
通过指定基础URL使用您的生产服务器。现代MCP客户端将使用流式HTTP:
{
"mcpServers": {
"astrodynamics": {
"transport": {
"type": "http",
"url": "https://mcp.io-aerospace.org"
}
}
}
}
/sse - 这仅适用于需要SSE协议的旧版客户端/sse;大多数客户端会发现SSE路径使用MCP SDK连接到托管服务器,使用现代流式HTTP传输:
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { HttpClientTransport } from "@modelcontextprotocol/sdk/client/transport/http.js";
// 现代流式HTTP传输(推荐)
const transport = new HttpClientTransport(new URL("https://mcp.io-aerospace.org"));
const client = new Client(
{ name: "example-client", version: "1.0.0" },
{ capabilities: { tools: {}, prompts: {}, resources: {} } },
transport
);
await client.connect();
const tools = await client.listTools();
console.log("工具:", tools);
// 示例:调用工具
// const result = await client.callTool({ name: "GetEphemerisAsStateVectors", arguments: { /* ... */ } });
// console.log(result);
如果这个项目对您的工作有帮助,请考虑赞助持续开发、托管和数据更新。
您的支持有助于保持托管服务器在线,并使SPICE数据保持最新。
-k(或IO_DATA_DIR)传递的路径存在且包含SPICE文件# 开发
docker-compose logs -f
# 生产
docker logs -f container-name
git checkout -b feature/amazing-feature)git commit -m '添加惊人的功能')git push origin feature/amazing-feature)此项目采用MIT许可证 - 详情请参阅LICENSE文件。
对于支持和问题:
Sylvain
新:现在有一个逐步的如何做指南:
- Markdown:docs/HowTo.md
- HTML(完整):docs/howto.html
- HTML(紧凑):docs/howto-mini.html