Token导航 LogoToken导航TokenDH.com
Solar MCP Server logo
地图位置stdio官方级别未说明来源级核验

Solar MCP Server

MCP Server

一个通过Le Systeme Solaire API探索太阳系数据的MCP服务器,支持查询天体、计算天空位置和获取天文数据。

工具数

10

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude位置天气Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

7robots

提供方

7robots

最后核验

2026/5/17 20:23

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python server.py

详细介绍

太阳系MCP服务器

通过MCP服务器探索太阳系数据 API太阳能系统.查询天体,计算天空位置,检索天文数据。

实时服务器: https://giant-plum-rabbit.fastmcp.app/mcp (需要Okta身份验证)

快速开始

添加到您的Claude桌面配置(~/.claude/claude_desktop_config.json):

{
  "mcpServers": {
    "solar-system": {
      "url": "https://giant-plum-rabbit.fastmcp.app/mcp"
    }
  }
}

在第一次连接时,您将被重定向到Okta进行身份验证。

工具

浏览正文

工具说明
solar_list_bodies通过过滤和分页列出天体
solar_get_body通过ID获取特定身体的详细信息
solar_search_bodies按名称搜索尸体
solar_filter_bodies按物理特性(半径、重力、密度)过滤

具体查询

工具说明
solar_get_planets按距离太阳的距离排列所有8颗行星
solar_get_dwarf_planets获取矮行星(冥王星、谷神星、厄里斯等)
solar_get_moons让所有的卫星围绕一颗特定的行星运行

统计与计数

工具说明
solar_list_known_counts按类别获取已知对象的计数
solar_get_known_count获取特定类别的计数

位置计算

工具说明
solar_calculate_positions根据观察者位置计算实时天空位置

示例

获取所有行星:

solar_get_planets(response_format="markdown")

搜索尸体:

solar_search_bodies(query="Europa")

获取木星的卫星:

solar_get_moons(planet_id="jupiter", response_format="markdown")

寻找有卫星的大型天体:

solar_filter_bodies(min_radius=1000, has_moons=True)

从纽约计算今晚的天空位置:

solar_calculate_positions(
    latitude=40.7128,
    longitude=-74.0060,
    elevation=10,
    datetime_utc="2025-01-17T22:00:00"
)

列出小行星:

solar_list_bodies(body_type="Asteroid", limit=50)

主体ID

通用主体ID solar_get_body:

正文ID
星期日 soleil
水星 mercure
金星venus
地球terre
月亮lune
火星mars
木星 jupiter
土星saturne
天王星uranus
海王星neptune
冥王星pluton

响应格式

所有工具都支持两种响应格式:

  • json (默认)-用于编程的结构化数据
  • markdown -人类可读的格式化输出

自我寄宿

本地开发

git clone https://github.com/yourusername/solar-mcp-server
cd solar-mcp-server

# Create virtual environment
uv venv
source .venv/bin/activate

# Install dependencies
uv pip install -e .

# Optional: Set API token
export SOLAR_API_TOKEN=your-bearer-token

# Run server
python server.py

部署到FastMCP云

  1. 分叉/克隆此存储库
  2. 访问 fastmcp.cloud 并使用GitHub登录
  3. 创建新项目并选择存储库
  4. 将入口点设置为 server.py
  5. 添加所需的Okta环境变量(见下文)
  6. 部署——fastmcp.cloud在推送到主时自动部署

环境变量

变量描述必填
OKTA_CLIENT_IDOkta OAuth2客户端ID是(用于身份验证)
OKTA_CLIENT_SECRETOkta OAuth2客户端机密是(用于身份验证)
OKTA_DOMAINOkta实例域(例如。 https://mycompany.okta.com)是(用于身份验证)
MCP_BASE_URL已部署服务器的公共URL是(用于身份验证)
OKTA_ISSUEROAuth2发行者(默认为 {OKTA_DOMAIN}/oauth2/default)没有
JWT_SIGNING_KEY用于签名MCP JWT的固定密钥(在Linux上是必需的——自动生成的密钥是短暂的)生产
REDIS_URLRedis连接字符串(rediss://...)用于冷启动时的持久OAuth状态生产
STORAGE_ENCRYPTION_KEY用于静态加密OAuth令牌的Fernet密钥。在以下情况下需要 REDIS_URL 已设置。生成方式 python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"何时 REDIS_URL set
SOLAR_API_TOKEN上游太阳能系统API的承载令牌

授权是选择加入的——当 OKTA_CLIENT_SECRET 如果未设置,服务器将在没有身份验证的情况下运行。

持久OAuth状态

fastmcp.cloud在空闲时将容器缩放到零。如果没有持久存储,每次冷启动都会擦除OAuth状态,并强制每个用户重新进行身份验证。有两个设置可以防止这种情况:

  1. 服务器请求 offline_access Okta发行刷新令牌。
  2. 设置 REDIS_URL + STORAGE_ENCRYPTION_KEY 启用加密的、命名空间的Redis支持 client_storage 所以JTI→ 上游令牌映射在冷启动中幸存下来。

单个Redis数据库可以在多个MCP服务器之间共享——每个服务器都通过一个唯一的前缀(这里, solar-mcp-server).

认证

服务器支持两种身份验证方法:

  • 交互式OAuth --用于基于浏览器的MCP客户端(Claude Desktop、Claude Code、Claude Web)。用户完成Okta登录流程。
  • 持有者代币 --用于机器对机器访问(MCP市场、代理、计划任务)。客户端通过以下方式发送Okta颁发的访问令牌 Authorization: Bearer 头球

API 参考

此服务器包装 系统解决方案REST API:

  • /bodies -所有具有过滤功能的天体
  • /bodies/{id} -单体细节
  • /knowncount -对象计数统计
  • /positions -星历计算

许可证

麻省理工学院

目录标签

目录标签

PythonClaude位置天气天文数据本地部署太阳系探索MCP服务器天体查询位置计算

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

10

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP