Skip to content

OpenBridge: Bridging Domain Scientists and APIs through AI-Powered Interfaces

License

Notifications You must be signed in to change notification settings

PaperAnalyticalDeviceND/OpenBridge

Repository files navigation

OpenBridge

OpenBridge is a Python package that provides a bridge API for PAD (Paper-based Analytical Device) storage and access. It serves as an interface between the PAD system and client applications, providing tools for data retrieval, analysis, and storage.

Blank diagram (1) Figure 1: System architecture of OpenBridge. A large language model (Claude Desktop) uses MCP to communicate with the OpenBridge server, which dynamically discovers and exposes API endpoints from OAS-compliant APIs as tools. JSON-LD responses provide semantic richness, improving interpretability for both agents and human users.

Features

  • API Integration: Seamless integration with the PAD API
  • Analysis Tools: Tools for analyzing PAD card images and data
  • File Handling: Utilities for managing PAD-related files
  • Prompt Templates: Predefined prompts for AI assistants working with PAD data

Usage

Installation

# Install from source
git clone https://github.com/PaperAnalyticalDeviceND/OpenBridge.git
cd OpenBridge
uv sync

Optional: Test the server in the terminal

uv run tests/test_server.py

Configuring Claude Desktop

To use OpenBridge with Claude Desktop, you need to configure the MCP server in Claude Desktop's configuration file:

  1. Locate the Claude Desktop configuration file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
  2. Add or modify the mcpServers section to include OpenBridge:

{
  "mcpServers": {
    "openBridge": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/your/OpenBridge",
        "run",
        "-m",
        "OpenBridge.server"
      ],
      "env": {
        "SERVER_BASE_URL": "https://pad.crc.nd.edu",
        "OPENAPI_SPEC_URL": "https://pad.crc.nd.edu/api-ld/v3/openapi.json",
        "FILESYSTEM_STORAGE": "/path/to/your/storage"
      }
    }
  }
}
  1. Replace the paths with your actual OpenBridge clone path and desired storage location.

  2. Restart Claude Desktop to apply the changes.

  3. In Claude Desktop, you can now select "openBridge" from the server dropdown to connect to your OpenBridge server.

Running the server

Note: You do not need run the server in the terminal to use it with Claude Desktop.

# Run with stdio transport (default)
uv run -m OpenBridge    

# Or run with SSE transport
uv run -m OpenBridge sse

Running the server using with fastmcp for development

# Debug mode
uv run fastmcp dev OpenBridge_server.py

Citation

If you use OpenBridge in your research, please cite our paper:

@inproceedings{10.1145/3708035.3736045,
  author = {Saboia, Priscila and Sweet, James and Sweet, Christopher},
  title = {OpenBridge: Bridging Domain Scientists and APIs through AI-Powered Interfaces},
  year = {2025},
  booktitle = {Practice and Experience in Advanced Research Computing 2025: The Power of Collaboration},
  series = {PEARC '25},
  doi = {10.1145/3708035.3736045},
  url = {https://doi.org/10.1145/3708035.3736045},
  publisher = {Association for Computing Machinery},
  keywords = {AI Agents, OpenAPI, Model Context Protocol, Research Data Infrastructure}
}

Saboia, P., Sweet, J., & Sweet, C. (2025). OpenBridge: Bridging Domain Scientists and APIs through AI-Powered Interfaces. In Practice and Experience in Advanced Research Computing 2025: The Power of Collaboration (PEARC '25). Association for Computing Machinery. https://doi.org/10.1145/3708035.3736045

Conference Poster: View PEARC 2025 Poster

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

OpenBridge: Bridging Domain Scientists and APIs through AI-Powered Interfaces

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •