Fuseki MCP服务器
用于Apache Jena Fuseki的Model Context Protocol(MCP)服务器。 您可以与Claude Desktop通信,运行SPARQL查询并查看SAP会计数据。
安装
cd /Users/eric2020/Documents/ws_python/sap_snowflake_to_jena/mcp_server_fuseki
# 가상환경 생성
python3 -m venv venv
source venv/bin/activate
# 의존성 설치
pip install -r requirements.txt执行
# 가상환경 활성화
source venv/bin/activate
# MCP 서버 시작
python server.pyClaude桌面设置
在Claude Desktop的配置文件中添加以下内容:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"fuseki": {
"command": "/Users/eric2020/Documents/ws_python/sap_snowflake_to_jena/mcp_server_fuseki/venv/bin/python",
"args": [
"/Users/eric2020/Documents/ws_python/sap_snowflake_to_jena/mcp_server_fuseki/server.py"
]
}
}
}可用工具
1.sparql_query
运行SPARQL SELECT查询
Tool: sparql_query
Arguments: {"query": "SELECT * WHERE { ?s ?p ?o } LIMIT 10"}2.稀疏更新
运行SPARQL UPDATE查询
Tool: sparql_update
Arguments: {"query": "INSERT DATA { ... }"}3.获取数据_信息
查询数据集统计信息
Tool: get_dataset_info4.国家三级
查看完整的树计数
Tool: count_triples5.查找文档
搜索SAP会计报表
Tool: find_documents
Arguments: {
"company_code": "1000",
"fiscal_year": "2025",
"document_type": "AB",
"limit": 10
}6.获取文档详细信息
查询特定发票的详细信息
Tool: get_document_details
Arguments: {
"company_code": "1000",
"fiscal_year": "2025",
"document_number": "0100106721"
}资源
fuseki://sap/stats:数据集统计fuseki://sap/namespaces:命名空间列表
示例查询
每月发票数量
PREFIX sap:
SELECT ?period (COUNT(?doc) as ?count)
WHERE {
?doc a sap:AccountingDocument .
?doc sap:period ?period .
}
GROUP BY ?period
ORDER BY ?period各公司的总金额
PREFIX sap:
SELECT ?company (SUM(?amount) as ?total)
WHERE {
?doc a sap:AccountingDocument .
?doc sap:companyCode ?company .
?doc sap:hasLineItem ?line .
?line sap:amountLocalCurrency ?amount .
}
GROUP BY ?company设置
服务器设置为 server.py 可以在顶部修改:
FUSEKI_BASE_URL = "http://localhost:3030"
DATASET_NAME = "sap"故障排除
Fuseki服务器连接失败
- 验证Fuseki服务器是否正在运行:
curl http://localhost:3030/$/ping - 验证数据集是否存在:
curl http://localhost:3030/$/datasets
检查MCP服务器日志
服务器以标准输出输出日志。可以在Claude Desktop日志中查看。
