关于 mcp-sparql
mcp-sparql 是面向 RDF 数据工作流的 MCP 服务,可供 LLM 查询 SPARQL 端点。它支持多种查询形式、语法验证,以及端点图和前缀发现。
主要功能
- 01执行 SELECT 查询并输出表格或 JSON
- 02执行 ASK、CONSTRUCT 和 DESCRIBE 查询
- 03验证查询语法而不执行
- 04列出命名图和常用前缀
- 05设置超时、行数上限和 HTTP 标头
适用场景
- 01查询 Wikidata 等数据集
- 02检查 RDF 实体是否符合条件
- 03运行前验证 SPARQL 查询
MCP 相关
它向 MCP 客户端提供 SPARQL 查询和端点发现工具,并提供常用前缀资源。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcp-sparql — 为大模型提供 SPARQL 查询功能的 MCP 服务。
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 端点 URLquery(str):SPARQL SELECT 查询timeout(int,默认值=30):查询超时时间,单位为秒output_format(str,默认值="table"):"table" 表示 Markdown,"json" 表示 JSONheaders(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
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。