o

odsbox-jaquel-mcp

@totonga/odsbox-jaquel-mcp
Hosted
0 Stars 16 次浏览 totonga 更新于 2026-08-23

MCP server for ASAM ODS with Jaquel query tools, connection management, and data access

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "odsbox-jaquel-mcp": {
      "args": [
        "odsbox-jaquel-mcp@1.1.1"
      ],
      "command": "uvx"
    }
  }
}

可用工具 (5 个)

该服务在 MCP 协议中暴露的工具,AI 可按需调用

tavily_search 14 个参数 需填 1 项

Search the web for current information on any topic. Use for news, facts, or data beyond your knowledge cutoff. Returns snippets and source URLs.

必填参数:query

tavily_extract 6 个参数 需填 1 项

Extract content from URLs. Returns raw page content in markdown or text format.

必填参数:urls

tavily_crawl 11 个参数 需填 1 项

Crawl a website starting from a URL. Extracts content from pages with configurable depth and breadth.

必填参数:url

tavily_map 8 个参数 需填 1 项

Map a website's structure. Returns a list of URLs found starting from the base URL.

必填参数:url

tavily_research 2 个参数 需填 1 项

Perform comprehensive research on a given topic or question. Use this tool when you need to gather information from multiple sources to answer a question or complete a task. Returns a detailed response based on the research findings.

必填参数:input

服务介绍

ASAM ODS Jaquel MCP Server

PyPI version
Apache 2.0 License
Python
Status
Build Status
Stars

<!- - mcp-name: io.github.totonga/odsbox-jaquel-mcp - ->

A Model Context Protocol (MCP) server for ASAM ODS with odsbox Jaquel query tools, ODS connection management, and measurement data access.


# Overview

  • 🔌 Built-in ODS connection management
  • 🧰 MCP tools: schema inspection, query validation, direct ODS query execution and measurement data analysis
  • 🏗️ Entity hierarchy visualization (AoTest → AoMeasurement)
  • 🚀 Validate, explain and execute JAQueL queries for ASAM ODS
  • 📦 Bulk timeseries/submatrix data access and script generation
  • 📊 Automatic Jupyter notebook generation for measurement comparison
  • 📈 Matplotlib visualization code generation
  • 📉 Statistical measurement comparison and correlation analysis
  • 🔎 Measurement hierarchy exploration and discovery
  • 💡 Interactive starting prompts for guided workflows
  • 🤖 AI-guided bulk API learning with help_bulk_api tool
  • 📝 Comprehensive documentation and test suite

# Documentation

# Quick Start

# # Installation

# # # Using uvx (Recommended)

The easiest way to use this MCP server is with uvx:

uvx odsbox-jaquel-mcp@latest

This automatically installs and runs the server without managing virtual environments.

# # # Using pipx

For a persistent installation:

pipx install odsbox-jaquel-mcp
odsbox-jaquel-mcp

# # # Traditional pip Installation

python -m venv .venv
source .venv/bin/activate  #  On Windows: .venv\Scripts\activate
pip install odsbox-jaquel-mcp[play]

Note: The [play] extra includes optional data analysis and visualization dependencies (pandas, matplotlib, scipy) for working with Jupyter notebooks and data analysis.

# # Running the Server

The server runs on stdin/stdout and waits for MCP messages from an MCP client:

#  With uvx (auto-installs and runs)
uvx odsbox-jaquel-mcp@latest

#  With pipx (if installed)
odsbox-jaquel-mcp

#  With pip in virtual environment
python -m odsbox_jaquel_mcp

# # Configuration for MCP Clients

Add to your MCP client configuration (e.g., Claude Desktop, VS Code):

{
  "mcpServers": {
    "ods-mcp": {
      "type": "stdio",
      "command": "uvx",
      "args": ["odsbox-jaquel-mcp@latest"]
    }
  }
}

Or with pipx:

{
  "mcpServers": {
    "ods-mcp": {
      "type": "stdio",
      "command": "odsbox-jaquel-mcp"
    }
  }
}

# Development

# # Setup

git clone https://github.com/totonga/odsbox-jaquel-mcp.git
cd odsbox-jaquel-mcp
python -m venv .venv
source .venv/bin/activate  #  On Windows: .venv\Scripts\activate
pip install -e ".[dev]"

# # Common Tasks

#  Run server locally
python -m odsbox_jaquel_mcp

#  Run tests
pytest tests/
#  or
python run_tests.py

#  Code formatting and linting
black .
isort .
flake8 .

#  Build package
python -m build

#  Test with MCP Inspector
npx @modelcontextprotocol/inspector uvx odsbox-jaquel-mcp@latest

# Contributing

Pull requests and issues are welcome! Please:

  • Follow PEP8 and use type hints
  • Add/maintain tests for new features
  • Update documentation as needed

# License

This project is licensed under the Apache License 2.0. See LICENSE.

# Links

# Features

# # Core MCP Tools

# # # Connection Management

  • ods_connect - Establish ODS connection
  • ods_disconnect - Close ODS connection
  • ods_get_connection_info - Get connection status

# # # Schema Inspection

  • schema_get_entity - Get all fields for entity
  • schema_list_entities - List all entities with relationships
  • schema_test_to_measurement_hierarchy - Get ASAM ODS test hierarchy structure

# # # Query Building & Validation

  • query_validate - Check query syntax and structure
  • query_describe - Get plain English explanation
  • query_execute - Execute query on ODS server

# # # Timeseries/Submatrix Data Access

  • data_get_quantities - List measurement quantities for submatrix
  • data_read_submatrix - Read timeseries data from submatrix
  • data_generate_fetcher_script - Generate Python scripts for data fetching

# # # Pattern & Example Library

  • query_generate_skeleton - Generate query skeleton (basic query) for entity
  • query_get_pattern - Get template for common patterns
  • query_list_patterns - List available patterns
  • query_get_operator_docs - Learn about operators

# # Starting Prompts

Discover and use the server's capabilities through interactive guided prompts:

  • ODS Server Connection - Set up and manage connections
  • Validate a Jaquel Query - Learn query validation
  • Explore Query Patterns - Find common query templates
  • Bulk Data Access - Master the 3-step Bulk API workflow
  • Measurement Analysis - Compare measurements and visualize data

See PROMPTS.md for complete details on all starting prompts.

# Error Handling

# # Common Errors and Solutions

# # # Not connected

{
  "error": "Model not loaded",
  "hint": "Connect to ODS server using 'ods_connect' tool first"
}

Solution: Call ods_connect first

# # # Invalid entity

{
  "error": "Entity not found: InvalidEntity",
  "available_entities": ["AoUnit", "AoMeasurement", ...]
}

Solution: Use valid entity from available_entities

# # # Invalid field

{
  "valid": false,
  "issues": ["Field 'invalid_field' not found"],
  "suggestions": ["id", "name", "description"]
}

Solution: Use one of the suggested fields

# # # Connection failed

{
  "success": false,
  "error": "Connection refused",
  "error_type": "ConnectionError"
}

Solution: Check URL, server availability, firewall

# Troubleshooting

# # Issue: Tools not discovered

  • Ensure mcp>=0.1.0 is installed
  • Check ToolsCapability is set in ServerCapabilities
  • Restart MCP client

# # Issue: Schema tools fail

  • Ensure ODS server is accessible
  • Check username/password
  • Verify network connectivity
  • Review server logs

# # Issue: Queries timeout

  • Increase request_timeout in connect
  • Reduce $rowlimit
  • Check ODS server performance

# Performance Tips

  1. Use specific filters - Avoid querying all records
  2. Limit rows - Always use $rowlimit appropriately
  3. Select attributes - Only retrieve needed columns/attributes
  4. Index awareness - Filter on indexed fields first
  5. Connection reuse - Keep connection open when possible
  6. Cache schemas - Schema inspection is cached

# Security Notes

  • Credentials are only held in memory during connection
  • Connection is cleaned up on disconnect
  • No credentials stored in config files
  • Use HTTPS with verify_certificate: true for production

# Install in VSCode

install in VSCode{width=300px}

# Support

For issues or questions:

  1. Check the error message and hints
  2. Review the documentation

相关 MCP 服务