catalysishub-mcp-server
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.2%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: QuentinCody
- License: other
- Language: Python
- Default Branch: main
- Size: 18.6 KB
Statistics
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Catalysis Hub MCP Server
A Model Context Protocol (MCP) server interface to Catalysis Hub's GraphQL API, enabling programmatic access to catalysis research data through flexible GraphQL queries.
Key Features
- Direct GraphQL Access: Execute any valid GraphQL query against Catalysis Hub's API
- Comprehensive Data Access:
- Catalytic reactions (equations, conditions, catalysts)
- Material systems (structures, properties, descriptors)
- Research publications (titles, DOIs, authors)
- Surface reaction data (adsorption energies, binding sites)
- MCP Standard Compliance: Implements the Model Context Protocol for AI-agent interoperability
- Flexible Query Support: Execute complex queries with variables parameterization
- Error Handling: Robust error reporting for API connectivity and query execution
License and Citation
This project is available under the MIT License with an Academic Citation Requirement. This means you can freely use, modify, and distribute the code, but any academic or scientific publication that uses this software must provide appropriate attribution.
For academic/research use:
If you use this software in a research project that leads to a publication, presentation, or report, you must cite this work according to the format provided in CITATION.md.
For commercial/non-academic use:
Commercial and non-academic use follows the standard MIT License terms without the citation requirement.
By using this software, you agree to these terms. See LICENSE.md for the complete license text.
Implementation Details
- Server Configuration (matches
claude_desktop_config.json):json { "command": "/Users/quentincody/.env/bin/python3", "args": ["/Users/quentincody/catalysishub-mcp-server/catalysishub_mcp_server.py"], "options": { "cwd": "/Users/quentincody/catalysishub-mcp-server" } } - Core Dependency:
httpxfor asynchronous HTTP requests - Transport: Standard input/output communication following MCP specifications
Setup & Installation
Clone the repository:
bash git clone <repository_url> cd catalysishub-mcp-serverInstall dependencies:
bash pip install -r requirements.txtVerify installation: ```bash python3 catalysishubmcpserver.py --version
Should output: catalysishub-mcp-server 0.1.0
```
Usage Examples
Basic Query Execution
```python 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)) ```
Parameterized Query with Variables
```python variables = { "materialId": "mp-1234", "firstResults": 5 }
response = await hub.catalysishub_graphql( query="""query GetMaterial($materialId: String!, $firstResults: Int!) { systems(uniqueId: $materialId) { edges { node { energy Cifdata relatedReactions(first: $firstResults) { edges { node { id Equation } } } } } } }""", variables=variables ) ```
Query Optimization Tips
- Use GraphQL Fragments: ```graphql fragment ReactionDetails on Reaction { id Equation ActivationEnergy Catalyst { formula surface } }
query { reactions(first: 10) { edges { node { ...ReactionDetails } } } } ```
- Batch Related Queries:
graphql query BatchQuery { reactions: reactions(first: 5) { edges { node { id Equation } } } materials: systems(first: 5) { edges { node { formula energy } } } }
Response Structure
Successful responses follow this structure:
json
{
"data": { /* Query results */ },
"extensions": {
"responseMetadata": {
"requestDuration": 145,
"apiVersion": "2024-06"
}
}
}
Error responses include detailed diagnostics:
json
{
"errors": [{
"message": "Cannot query field 'invalidField' on type 'Reaction'",
"locations": [{"line": 5, "column": 21}],
"path": ["query", "reactions", "edges", "node", "invalidField"]
}]
}
Troubleshooting
Common Issues:
- HTTP Request Error: Verify network connectivity to api.catalysis-hub.org
- JSON Decode Error: Check query syntax using Catalysis Hub's GraphQL Playground
- Timeout Errors: Add timeout parameter to complex queries
Acknowledgements
This project builds on the Model Context Protocol (MCP) framework and is designed to interface with the Catalysis Hub database, a comprehensive resource for catalysis research data.
Owner
- Login: QuentinCody
- Kind: user
- Repositories: 1
- Profile: https://github.com/QuentinCody
Citation (CITATION.md)
# Citation Information
If you use this software as part of research that results in a publication, please cite it as follows:
## BibTeX Format
```bibtex
@software{cody_catalysishub_mcp_server_2025,
author = {Cody, Quentin},
title = {CatalysisHub MCP Server: A Model Context Protocol Server for Catalysis Research Data},
year = {2025},
url = {https://github.com/QuentinCody/catalysishub-mcp-server},
note = {Version 1.0}
}
```
## APA Format
```
Cody, Q. (2025). CatalysisHub MCP Server: A Model Context Protocol Server for Catalysis Research Data. GitHub. https://github.com/QuentinCody/catalysishub-mcp-server
```
## Additional Information
This software is licensed under the MIT License with an Academic Citation Requirement. See the LICENSE.md file for details.
For questions regarding citation, please contact QuentinCody@gmail.com.
GitHub Events
Total
- Watch event: 1
- Issue comment event: 1
- Push event: 1
- Public event: 1
- Pull request event: 1
Last Year
- Watch event: 1
- Issue comment event: 1
- Push event: 1
- Public event: 1
- Pull request event: 1
Dependencies
- httpx >=0.24.0
- mcp >=0.1.0
- python-dotenv >=1.0.0