mcpField
M
mcp-sparql

mcp-sparql

本地服务
github.com/daedalus数据库019 周前更新

关于 mcp-sparql

mcp-sparql 是面向 RDF 数据工作流的 MCP 服务,可供 LLM 查询 SPARQL 端点。它支持多种查询形式、语法验证,以及端点图和前缀发现。

主要功能

  1. 01执行 SELECT 查询并输出表格或 JSON
  2. 02执行 ASK、CONSTRUCT 和 DESCRIBE 查询
  3. 03验证查询语法而不执行
  4. 04列出命名图和常用前缀
  5. 05设置超时、行数上限和 HTTP 标头

适用场景

  1. 01查询 Wikidata 等数据集
  2. 02检查 RDF 实体是否符合条件
  3. 03运行前验证 SPARQL 查询

MCP 相关

它向 MCP 客户端提供 SPARQL 查询和端点发现工具,并提供常用前缀资源。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"daedalus-mcp-sparql": {
"command": "uvx",
"args": [
"mcp-sparql"
]
}
}
}
启动命令uvx mcp-sparql

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimcp-sparql0.1.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

mcp-sparql — 为大模型提供 SPARQL 查询功能的 MCP 服务。

PyPI Python Ruff

mcp-name: io.github.daedalus/mcp-sparql

安装

pip install mcp-sparql

用法

作为 MCP 服务

将其添加到 MCP 配置中(例如,~/.config/claude/mcp.json):

{
  "mcpServers": {
    "mcp-sparql": {
      "command": "mcp-sparql"
    }
  }
}
可用工具
工具描述
sparql_query执行 SPARQL SELECT 查询(表格或 JSON 输出)
sparql_ask执行 SPARQL ASK 查询(布尔值结果)
sparql_construct执行 SPARQL CONSTRUCT 查询(Turtle 或 JSON-LD)
sparql_describe执行 SPARQL DESCRIBE 查询(Turtle 或 JSON-LD)
sparql_validate验证 SPARQL 查询语法,但不执行
sparql_list_graphs列出 SPARQL 端点上的命名图
sparql_get_prefixes获取 SPARQL 端点的常用前缀
示例

查询 Wikidata:

sparql_query:
  endpoint: "https://query.wikidata.org/sparql"
  query: "SELECT ?item ?itemLabel WHERE { ?item wdt:P31 wd:Q5 . ?item rdfs:label ?itemLabel . FILTER(LANG(?itemLabel) = 'en') } LIMIT 5"

检查实体是否存在:

sparql_ask:
  endpoint: "https://query.wikidata.org/sparql"
  query: "ASK { wd:Q42 wdt:P31 wd:Q5 }"

验证查询:

sparql_validate:
  query: "SELECT ?s WHERE { ?s ?p ?o }"

列出命名图:

sparql_list_graphs:
  endpoint: "https://query.wikidata.org/sparql"

获取常用前缀:

sparql_get_prefixes:
  endpoint: "https://query.wikidata.org/sparql"
资源
资源URI描述
常用前缀sparql://common-prefixes标准 SPARQL 命名空间前缀

API

sparql_query

执行 SPARQL SELECT 查询。

参数:

  • endpoint (str):SPARQL 端点 URL
  • query (str):SPARQL SELECT 查询
  • timeout (int,默认值=30):查询超时时间,单位为秒
  • output_format (str,默认值="table"):"table" 表示 Markdown,"json" 表示 JSON
  • headers (dict,可选):用于身份验证的 HTTP 标头
  • max_rows (int,默认值=1000):最大结果行数
sparql_ask

执行 SPARQL ASK 查询。返回 "true" 或 "false"。

sparql_construct

执行 SPARQL CONSTRUCT 查询。返回 RDF 三元组。

附加参数:

  • output_format (str,默认值="turtle"):"turtle" 或 "json"
sparql_describe

执行 SPARQL DESCRIBE 查询。返回 RDF 描述。

sparql_validate

验证 SPARQL 查询语法,但不执行。

sparql_list_graphs

列出 SPARQL 端点上可用的命名图。

sparql_get_prefixes

获取 SPARQL 端点的常用前缀。

开发

git clone https://github.com/daedalus/mcp-sparql.git
cd mcp-sparql
pip install -e ".[test]"

# run tests
pytest

# format
ruff format src/ tests/

# lint + type check
prospector --with-tool ruff --with-tool mypy --with-tool pylint src/

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。