Skip to content

A Model Context Protocol (MCP) server that provides tools for querying SPARQL endpoints, with specialized support for NSF-funded Proto-OKN (Prototype Open Knowledge Network) knowledge graphs hosted on the FRINK platform.

License

Notifications You must be signed in to change notification settings

sbl-sdsc/mcp-proto-okn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

197 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MCP Proto-OKN Server

License: BSD-3-Clause Python 3.10+ Model Context Protocol PyPI version

A Model Context Protocol (MCP) server providing seamless access to SPARQL endpoints with specialized support for the NSF-funded Proto-OKN Project (Prototype Open Knowledge Network). This server enables querying the scientific knowledge graphs hosted on the FRINK platform. In addition, third-party SPARQL endpoints can be queried.

Natural Language Querying Across Knowledge Graphs with MCP

Features

  • đź”— FRINK Integration: Automatic detection and documentation linking for FRINK-hosted knowledge graphs
  • 🕸️ Proto-OKN Knowledge Graphs: Optimized support for biomedical and scientific knowledge graphs, including:
    • 🧬 Biology & Health
    • 🌱 Environment
    • ⚖️ Justice
    • 🛠️ Technology & Manufacturing
  • ⚙️ Flexible Configuration: Support for both FRINK and custom SPARQL endpoints
  • 📚 Automatic Documentation: Registry links and metadata for Proto-OKN knowledge graphs
  • 🌳 Ontology-driven Search Expansion: Queries are automatically expanded using ontology hierarchies
  • đź”— Federated Query: Prompts can query multiple endpoints

Architecture

Tool Selector

The MCP Server Proto-OKN acts as a bridge between AI assistants (like Claude) and SPARQL knowledge graphs, enabling natural language queries to be converted into structured SPARQL queries and executed against scientific databases.

Prerequisites

  • Client Application
    • Claude Desktop with subscription
    • ChatGPT with subscription
    • VS Code Insiders with GitHub Copilot subscription
    • Other MCP-compliant applications

Installation and Configuration

Beta Notice: The proto-okn MCP server is currently in beta testing.
We welcome feedback and bug reports. Please submit any issues.

Claude Desktop Setup

ChatGPT Setup

If you previously used a local installation of mcp-proto-okn in Claude Desktop, disable those services or remove them from claude_desktop_config.json.


Example Queries

  • By default, the server will query all Proto-OKN KGs, e.g.,

Generate a table of all Proto-OKN Knowledge Graphs with two columns: “KG Name” and “Description.”

  • To query a specific KG refer to it by @kg-name, e.g.

@spoke-genelab: How many studies are in this KG?

  • To create a transcript of a chat session, use the following prompt

Create a chat transcript

The transcript can then be downloaded in .md or .pdf format. The transcript includes prompts and results from the chat session. It also includes the LLM model name and version number that was used.

Knowledge Graph Overviews & Class Diagrams

Each link below points to a chat transcript that demonstrates how to generate a knowledge-graph overview and class diagram for a given Proto-OKN Theme 1 KG. The examples are grouped by domain area.

🧬 Biology & Health 🌱 Environment ⚖️ Justice 🛠️ Technology & Manufacturing NASA/NIH
biobricks-aopwiki sawgraph ruralkg securechainkg nasa-gesdisc-kg
biobricks-ice fiokg scales sudokn nde
biobricks-mesh geoconnex nikg gene-expression-atlas-okn
biobricks-pubchem-annotations spatialkg dreamkg
biobricks-tox21 hydrologykg
biobricks-toxcast ufokn
spoke-genelab wildlifekn
spoke-okn climatemodelskg
sockg

Use Cases

  1. Spaceflight Missions (spoke-genelab)

  2. Spaceflight Gene Expression Analysis (spoke-genelab, spoke-okn)

  3. Spaceflight Gene Expression with Literature Analysis (spoke-genelab, spoke-okn, PubMed)

  4. Spaceflight Gene Expression with Open Targets MCP integration (spoke-genelab, Open Targets, PubMed)

  5. Disease Prevalence in the US (spoke-okn)

  6. Disease Prevalence - Socio-Economic Factors Correlation (spoke-okn)

  7. NIAID Data Exploration - COVID-19 Vaccine Research (nde)

  8. Diabetic Nephropathy Meta-Analysis (gene-expression-atlas-okn)

  9. Contamination at Superfund Sites (spoke-okn)

  10. PFOA in Drinking Water (spoke-okn)

  11. Data about PFOA (spoke-okn, biobricks-toxcast)

  12. Biological Targets for PFOA (biobricks-toxcast)

  13. Criminal Justice Patterns (scales)

  14. Drug Possession Charges (scales)

  15. Environmental Justice (sawgraph, scales, spatialkg, spoke-okn)

  16. Rural Health Access (ruralkg, dreamkg, spoke-okn)

  17. Michigan Flooding Event (ufokn)

  18. Flooding and Socio-Economic Factors (ufokn, spatialkg, spoke-okn)

  19. Philadelphia Area Incidents (nikg)

  20. Mining Suppliers in North Dakota (sudokn)

Ontology-Driven Search Expansion

Queries are automatically expanded using ontology hierarchies (MONDO, HP, GO, UBERON, etc.) from the Ubergraph KG to include all descendant concepts, ensuring comprehensive retrieval without manual enumeration. For example, searching for "arthritic joint disease" automatically includes rheumatoid arthritis, osteoarthritis, ankylosing spondylitis, and all other subtypes.

  1. Arthritic Joint Disease Datasets (nde)

  2. Space Flight Studies Investigating Muscles (spoke-genelab)

Proto-OKN Integration Opportunities

  1. Cross-KG Geolocation Data Exploration

  2. Cross-KG Chemical Compound Data Exploration

Cross-Platform LLM Benchmarks

This section compares the results of two queries using Claude Desktop and VS Code Insiders with commons LLMs.

Query Claude Sonnet 4.5 Claude Sonnet 4.5 Gemini 3 Pro Groq Code Fast 1 GPT-5.2
Spaceflight Missions Claude Desktop VS Code VS Code VS Code VS Code
Gene Expression Analysis Claude Desktop VS Code VS Code VS Code VS Code

Benchmarks (in progress)

mcp-proto-okn vs. SPARQL Ground-Truth Evaluation

Benchmarks

Building and Publishing (maintainers only)

Instructions for building, testing, and publishing the mcp-proto-okn package on PyPI

API Reference and Query Analysis System

mcp-proto-okn server API

Remote Deployment

The server supports two transport modes:

  • stdio (default) -- local subprocess mode, used by uvx mcp-proto-okn
  • streamable-http -- remote HTTP mode, for hosting a server that multiple clients connect to over the network

Environment Variables

Variable Default Description
MCP_PROTO_OKN_TRANSPORT stdio stdio or streamable-http
MCP_PROTO_OKN_HOST 0.0.0.0 Bind address for HTTP transport
MCP_PROTO_OKN_PORT 8000 Bind port for HTTP transport
MCP_PROTO_OKN_API_KEY (none) Optional Bearer-token auth for HTTP

CLI arguments --transport, --host, and --port take precedence over environment variables.

Testing Locally with Claude Code

Start the server in HTTP mode:

# Terminal 1: Start the server
MCP_PROTO_OKN_TRANSPORT=streamable-http mcp-proto-okn \
  --endpoint https://frink.apps.renci.org/spoke/sparql

# The server listens on http://localhost:8000/mcp

Then configure Claude Code to connect via the remote MCP URL (add to .mcp.json or Claude Code settings):

{
  "mcpServers": {
    "proto-okn": {
      "type": "url",
      "url": "http://localhost:8000/mcp"
    }
  }
}

Claude Desktop Requirements (HTTPS + Domain)

Claude Desktop requires HTTPS with a valid domain name for remote MCP servers (it does not support http://localhost). Steps:

  1. Deploy the server to a host with a domain name
  2. Set up HTTPS via a reverse proxy (e.g., nginx, Caddy) or cloud service
  3. Optionally set MCP_PROTO_OKN_API_KEY for authentication
  4. Configure Claude Desktop:
{
  "mcpServers": {
    "proto-okn": {
      "type": "url",
      "url": "https://your-domain.example.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY_HERE"
      }
    }
  }
}

Troubleshooting

MCP server not appearing in Claude Desktop:

  • Ensure you've completely quit and restarted Claude Desktop (not just closed the window)
  • Check that your JSON configuration is valid (attach your config file to a chat and ask it to fix any errors)
  • Verify that uvx is installed and accessible in your PATH (which uvx)

Connection errors:

  • Verify the SPARQL endpoint URL is correct and accessible
  • Some endpoints may have rate limits or temporary downtime

Performance issues:

  • Complex SPARQL queries may take time to execute
  • Consider breaking down complex queries into smaller parts

License

This project is licensed under the BSD 3-Clause License. See the LICENSE file for details.

Citation

If you use MCP Server Proto-OKN in your research, please cite the following works:

@software{rose2025mcp-proto-okn,
  title={MCP Server Proto-OKN},
  author={Rose, P.W. and Good, B.M. and Nelson, C.A. and Saravia-Butler, A.M. and Shi, Y. and Su, A.I. and Baranzini, S.E.},
  year={2025},
  url={https://github.com/sbl-sdsc/mcp-proto-okn}
}

@software{rose2025spoke-genelab,
  title={NASA SPOKE-GeneLab Knowledge Graph},
  author={Rose, P.W. and Nelson, C.A. and Gebre, S.G. and Saravia-Butler, A.M. and Soman, K. and Grigorev, K.A. and Sanders, L.M. and Costes, S.V. and Baranzini, S.E.},
  year={2025},
  url={https://github.com/BaranziniLab/spoke_genelab}
}

Related Publications

  • Nelson, C.A., Rose, P.W., Soman, K., Sanders, L.M., Gebre, S.G., Costes, S.V., Baranzini, S.E. (2025). "Nasa Genelab-Knowledge Graph Fabric Enables Deep Biomedical Analysis of Multi-Omics Datasets." NASA Technical Reports, 20250000723. Link

  • Sanders, L., Costes, S., Soman, K., Rose, P., Nelson, C., Sawyer, A., Gebre, S., Baranzini, S. (2024). "Biomedical Knowledge Graph Capability for Space Biology Knowledge Gain." 45th COSPAR Scientific Assembly, July 13-21, 2024. Link

Acknowledgments

Funding

This work is in part supported by:

  • National Science Foundation Award #2333819: "Proto-OKN Theme 1: Connecting Biomedical information on Earth and in Space via the SPOKE knowledge graph"
  • National Science Foundation Award #2535091: "Proto-OKN Theme 2: OKN-Fabric"

Related Projects


For questions, issues, or contributions, please visit our GitHub repository.

About

A Model Context Protocol (MCP) server that provides tools for querying SPARQL endpoints, with specialized support for NSF-funded Proto-OKN (Prototype Open Knowledge Network) knowledge graphs hosted on the FRINK platform.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors