Catalysishub MCP Server

Communauté Données et bases de données

Unofficial access to the Catalysis Hub database: search and retrieve computational catalysis research and surface reaction data.

Que pouvez-vous faire avec Catalysishub MCP Server ?

  • Direct GraphQL Access: Execute any valid GraphQL query against Catalysis Hub's API
  • Comprehensive Data Access:
  • 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

Installation

Les étapes d'installation sont dans la documentation ci-dessous. Documentation

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. Catalysis Hub MCP Server
  2. Key Features
  3. License and Citation
  4. Implementation Details
  5. Setup & Installation
  6. Usage Examples
  7. Query Optimization Tips
  8. Response Structure
  9. Troubleshooting
  10. Acknowledgements

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):
    {
      "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: httpx for asynchronous HTTP requests
  • Transport: Standard input/output communication following MCP specifications

Setup & Installation

  1. Clone the repository:
     git clone <repository_url>
     cd catalysishub-mcp-server
  2. Install dependencies:
     pip install -r requirements.txt
  3. Verify installation:
     python3 catalysishub_mcp_server.py --version
     # Should output: catalysishub-mcp-server 0.1.0

Usage Examples

Basic Query Execution
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
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

  1. Use GraphQL Fragments:
     fragment ReactionDetails on Reaction {
         id
         Equation
         ActivationEnergy
         Catalyst {
             formula
             surface
         }
     }
    
     query {
         reactions(first: 10) {
             edges {
                 node {
                     ...ReactionDetails
                 }
             }
         }
     }
  2. Batch Related Queries:
     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:

{
    "data": { /* Query results */ },
    "extensions": {
        "responseMetadata": {
            "requestDuration": 145,
            "apiVersion": "2024-06"
        }
    }
}

Error responses include detailed diagnostics:

{
    "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.

Questions fréquentes

Qu'est-ce que Catalysishub MCP Server ?

Unofficial access to the Catalysis Hub database: search and retrieve computational catalysis research and surface reaction data.

Comment installer Catalysishub MCP Server ?

Suivez les étapes d'installation de sa documentation, affichée sur cette page et dans son dépôt.

Catalysishub MCP Server est-il open source ?

Son code est public sur GitHub, mais le dépôt ne déclare pas de licence standard.

Qui maintient Catalysishub MCP Server ?

Il est publié par QuentinCody. AI.tn le référence sans le maintenir ni le recommander.

Issu des listes communautaires awesome-mcp-servers et du dépôt GitHub du projet. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.