Token导航 LogoToken导航TokenDH.com
Rasdaman MCP Server logo
数据服务stdio官方级别未说明来源级核验

Rasdaman MCP Server

MCP Server

Rasdaman MCP Server 是一个允许用户通过自然语言与rasdaman数据库交互的工具,将自然语言查询转换为WCS/WCPS查询并返回结果。

工具数

4

提示词数

0

GitHub Stars

5

资源数

0
数据分析自然语言处理PythonSession认证

安装说明

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

作者 / 组织

rasdaman

提供方

rasdaman

最后核验

2026/5/17 20:19

快速接入

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

命令预览

pip install rasdaman-mcp

详细介绍

Rasdaman MCP服务器

该工具使用户能够在自然语言环境中与rasdaman进行交互。 通过MCP协议将rasdaman功能作为工具公开,LLM可以查询数据库以回答以下问题:

  • “有哪些数据立方体可用?”
  • “‘Sentinel2_10m’的覆盖范围有多大?”
  • “创建2025年6月12日的NDVI图像。”

MCP服务器将这些工具调用转换为rasdaman可以理解的实际WCS/WCPS查询,然后将结果返回给LLM。

安装

pip install rasdaman-mcp

用法

首先,需要通过环境变量配置从MCP服务器到rasdaman的连接:

  • RASDAMAN_URL:rasdaman服务器的URL
  • RASDAMAN_USERNAME:身份验证用户名
  • RASDAMAN_PASSWORD:身份验证密码

或命令行参数 rasdaman-mcp 工具:

  • --rasdaman-url:rasdaman服务器的URL(默认 RASDAMAN_URL env变量或 http://localhost:8080/rasdaman/ows).
  • --username:身份验证用户名(默认 RASDAMAN_USERNAME env变量或 rasguest).
  • --password:设置身份验证密码(默认值 RASDAMAN_PASSWORD env变量或 rasguest).

然后,MCP准备好以两种模式之一与AI代理工具一起使用: stdio (默认)或 http.

stdio 模式

用于与接管管理服务器进程并通过标准输入/输出与之通信的客户端直接集成。 通常,在您的AI工具中,您需要指定要运行的命令 rasdaman-mcp:

rasdaman-mcp --username rasguest --password rasguest --rasdaman-url "..."

在gemini cli中启用它的示例:

gemini mcp add rasdaman-mcp "rasdaman-mcp --username rasguest --password rasguest"

优点:

  • 简单:无需管理单独的服务器进程或端口。
  • 无缝集成:工具在客户端环境中透明地提供给LLM。

http 模式

此模式启动在指定主机/端口上侦听的独立Web服务器,例如:

rasdaman-mcp --transport http --host 127.0.0.1 --port 8000 --rasdaman-url "..."

要在AI代理中配置的MCP服务器URL为 http://127.0.0.1:8000/mcp 与运输 streamable-http. 例如,对于Mistral Vibe,用这样的部分扩展config.toml:

[[mcp_servers]]
name = "rasdaman-mcp"
transport = "streamable-http"
url = "http://127.0.0.1:8000/mcp/"

优点:

  • 可扩展性:MCP服务器可以容器化(例如,使用Docker)并作为单独的微服务部署。
  • 解耦:任何可以说HTTP的客户端(例如。, curlPython脚本、web应用程序、其他LLM客户端)可以与这些工具交互。
  • 测试:允许直接进行API测试和调试,独立于LLM客户端。

AI代理

一旦AI代理配置了访问权限 rasdaman-mcp,它能够使用多种工具:

  • 列出已配置rasdaman中的覆盖范围
  • 获取特定报道的详细信息
  • 基于自然语言的描述执行处理/分析查询

例子

以下示例演示了使用rasdaman MCP服务器与AI代理的交互。

列表封面

![](https://github.com/rasdaman/rasdaman-mcp/blob/main/docs/assets/img/01-list_coverages.png?raw=true)

描述覆盖范围

![](https://gips2.baidu.com/it/u=3145007314,3962182520&fm=3081&app=3081&f=PNG?w=1497&h=1958)

执行查询

![](https://gips2.baidu.com/it/u=3151262150,2898382160&fm=3081&app=3081&f=PNG?w=1500&h=749)

查询结果可视化

![](https://gips1.baidu.com/it/u=1482423703,195968358&fm=3081&app=3081&f=PNG?w=1600&h=800)

自然语言查询建议

![](https://github.com/rasdaman/rasdaman-mcp/blob/main/docs/assets/img/04-suggest-query.png?raw=true)

发展

设置

  1. 克隆 Git 仓库:
   git clone https://github.com/rasdaman/rasdaman-mcp.git
   cd rasdaman-mcp/
  1. 创建虚拟环境(如果没有):
   uv venv
  1. 激活虚拟环境:
   source .venv/bin/activate
  1. 从源代码安装:
   uv pip install -e .

核心组件

  • 主要应用(main.py):此脚本初始化FastMCP应用程序。它处理传输选择、rasdaman URL、,

用户名和密码。然后,它实例化 RasdamanActions 类并装饰其方法,以将其作为工具公开。

  • RasdamanActions 班级(rasdaman_actions.py):封装与rasdaman WCS/WCPS端点的所有交互。

它使用服务器URL和凭据进行初始化,其方法包含列出覆盖范围、描述覆盖范围和执行查询的逻辑。

  • WCPS速成课程(wcps_crash_course.py):WCPS语法的简短摘要,允许LLM生成更准确的查询。

定义工具

以下方法作为工具公开:

  • list_coverages():列出所有可用的数据立方体。
  • describe_coverage(coverage_id):检索特定数据立方体的元数据。
  • wcps_query_crash_course():返回WCPS语法速成课程,其中包含示例和最佳实践。
  • execute_wcps_query(wcps_query):执行原始WCPS查询,并直接以字符串(标量或小json)或文件路径返回结果。

文档

要构建文档,请执行以下操作:

# install dependencies
uv pip install '.[docs]'

sphinx-build docs docs/_build

然后,您可以打开 docs/_build/index.html 在浏览器中。

自动化测试

要运行测试,请执行以下操作:

# install dependencies
uv pip install '.[tests]'

pytest

手动测试

与独立HTTP服务器交互 *手动地* 需要使用特定的3步流程 curl. 这 fastmcp 协议是有状态的,需要显式初始化会话。

  1. 首先,发送一个 initialize 请求。这将返回一个 200 OK 最重要的是,

会话ID mcp-session-id 响应标头(在接下来的步骤中需要)。

   curl -i -X POST \
   -H "Accept: text/event-stream, application/json" \
   -H "Content-Type: application/json" \
   -d '{
         "jsonrpc": "2.0",
         "method": "initialize",
         "params": {
           "protocolVersion": "2024-11-05",
           "capabilities": {},
           "clientInfo": { "name": "curl-client", "version": "1.0.0" }
         },
         "id": 1
       }' \
   "http://127.0.0.1:8000/mcp"
  1. 接下来,向服务器发送通知以确认会话已准备就绪。使用步骤1中的会话ID mcp-session-id 头球

此请求不会在响应中生成正文。

   SESSION_ID=""

   curl -X POST \
   -H "Accept: text/event-stream, application/json" \
   -H "Content-Type: application/json" \
   -H "Mcp-Session-Id: $SESSION_ID" \
   -d '{
         "jsonrpc": "2.0",
         "method": "notifications/initialized"
       }' \
   "http://127.0.0.1:8000/mcp"
  1. 最后,您可以使用 tools/call 方法。这 params 对象必须包含 name 工具和

arguments 带有该工具参数的对象。服务器将在JSON-RPC响应中返回工具调用的结果。

   SESSION_ID=""

   # Example: Calling the 'list_coverages' tool
   curl -X POST \
   -H "Accept: text/event-stream, application/json" \
   -H "Content-Type: application/json" \
   -H "Mcp-Session-Id: $SESSION_ID" \
   -d '{
         "jsonrpc": "2.0",
         "method": "tools/call",
         "params": {
           "name": "list_coverages",
           "arguments": {}
         },
         "id": 2
       }' \
   "http://127.0.0.1:8000/mcp"

目录标签

目录标签

数据分析自然语言处理PythonSession认证本地部署数据库查询地理空间数据AI集成

接入字段

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

stdio

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

session

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiosession部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP