催化_hub MCP 服务器可直接访问催化hub的GraphQL API,提供模型上下文协议(MCP)服务器接口。借助该服务器,用户能对催化研究数据进行程序化访问,还可使用灵活的GraphQL查询。
催化_hub MCP 服务器为用户提供了便捷的方式来访问催化研究数据。通过以下步骤,你可以快速开始使用该服务器:
git clone
cd catalysishub-mcp-server
pip install -r requirements.txt
python3 catalysishub_mcp_server.py --version
# 输出应为:catalysishub-mcp-server 0.1.0
git clone
cd catalysishub-mcp-server
pip install -r requirements.txt
python3 catalysishub_mcp_server.py --version
# 输出应为:catalysishub-mcp-server 0.1.0
from mcp.client import MCPClient
async with MCPClient("catalysishub") as hub:
result = await hub.catalysishub_graphql(
query="""{
reactions(first: 5) {
edges {
node {
id
Equation
Temperature
}
}
}
}"""
)
print(json.loads(result))
variables = {
"materialId": "mp-1234",
"firstResults": 5
}
response = await hub.catalysishub_graphql(
query="""query GetMaterialById($materialId: String!, $firstResults: Int!) => Material {
material(id: $materialId) {
name
properties(limit: $firstResults) {
id
value
}
}
}""",
variables=variables
)
使用skip和limit进行分页,或添加过滤条件:
{
reactions(skip: 0, limit: 5, where: {property: "temperature"}) {
edges {
node {
id
Equation
Temperature
}
}
}
}
对于大规模数据,建议使用batch处理:
from mcp.client import MCPClient
client = MCPClient("catalysishub")
batch_query = client.catalysishub_graphql(
query=query,
variables=variables
)
result = await batch_query()
成功响应示例:
{
"data": {
"reactions": {
"edges": [
{
"node": {
"id": "123",
"Equation": "E = mc^2",
"Temperature": 500
}
},
// 其他节点...
]
}
}
}
错误响应示例:
{
"errors": [
{
"message": "Field 'reactions' not found in type 'Query'",
"path": ["reactions"],
"locations": [{ "line": 1, "column": 3 }]
}
]
}
如需进一步帮助,请联系:
claude_desktop_config.json一致):{
"command": "/Users/quentincody/.env/bin/python3",
"args": ["/Users/quentincody/catalysishub-mcp-server/catalysishub_mcp_server.py"],
"options": {
"cwd": "/Users/quentincody/catalysishub-mcp-server"
}
}
httpx进行异步HTTP请求。通过以上内容,您可以全面了解和使用催化_hub MCP 服务器的各项功能。