{"message":"Hybrid MCP Server - Crystallisation Experiment Knowledge Graph","status":"running","server_info":{"name":"Crystallisation Experiment Knowledge Graph","version":"1.1.0","protocol":"MCP (Model Context Protocol)"},"endpoints":{"mcp":{"POST /":"Main MCP JSON-RPC endpoint for tool calls and resource access","GET /sse":"Server-Sent Events endpoint for streaming MCP communication","POST /messages":"Client-to-server messages for streamable MCP protocol"},"utility":{"GET /":"This endpoint - server information and endpoint listing","GET /health":"Health check endpoint","GET /endpoints":"Detailed endpoint documentation (if implemented)"}},"mcp_tools":[{"name":"search","description":"Search crystallisation experiments using SPARQL queries"},{"name":"fetch","description":"Retrieve detailed information about an entity"},{"name":"get_ontology_info","description":"Get a JSON projection of the crystallisation experiment ontology schema"},{"name":"sparql_query","description":"Execute custom read-only SPARQL queries"},{"name":"get_statistics","description":"Get graph statistics: node count, edge count, average degree, density"},{"name":"list_contributions","description":"List experiment contributions in the raw knowledge graph dataset"},{"name":"get_contribution","description":"Retrieve all triples for a specific experiment contribution by ID"},{"name":"get_pending_curation","description":"List raw-graph contributions awaiting curation/approval"}],"mcp_resources":[{"uri":"kg://ontology/summary","name":"Ontology Summary","description":"Schema documentation for SPARQL queries"}],"usage":{"workflow":"1. LLM retrieves ontology schema using get_ontology_info() or kg://ontology/summary resource → 2. LLM writes SPARQL query based on schema → 3. LLM calls search(sparql_query='...') → 4. LLM formats results for user","curl_example":"curl -X POST https://cryogenicx-mcp-server-1060045111949.europe-west2.run.app/ -H 'Content-Type: application/json' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/call\",\"params\":{\"name\":\"search\",\"arguments\":{\"sparql_query\":\"SELECT ?s ?p ?o WHERE { ?s ?p ?o } LIMIT 10\"}}}'","mcp_client_example":"Configure Claude Desktop or other MCP clients to connect to this server"}}