Skip to main content

MCP server for AMSL schema resources and validation

Project description

AMSL Schemas MCP Server

A Model Context Protocol (MCP) server for AMSL schema management, validation, and discovery. This server provides LLM agents with access to AMSL schema definitions and validation tools for YAML configuration files.

Overview

The AMSL Schemas MCP Server exposes AMSL schema resources and validation capabilities via the Model Context Protocol. It enables LLM agents to:

  • Discover available AMSL schema types (collection, assessment, module, agent, global, constants)
  • Retrieve full schema definitions from remote sources
  • Validate YAML data against AMSL schemas

Features

  • 📚 6 Schema Resources: Dedicated resources for each AMSL schema type with detailed descriptions
  • Validation Tool: Validate data against any AMSL schema with detailed error reporting
  • 🔗 Remote Schemas: Automatically fetches schemas from the AMSL CDN
  • 🚀 FastMCP: Built with the FastMCP framework for minimal boilerplate
  • 📋 Type Safety: Full type hints and validation using Pydantic

Supported Schemas

  • Collection: YAML structure for RAG document collections
  • Assessment: Assessment definitions for modules
  • Module: Module content structure with sessions and assessments
  • Agent: Agent definitions with steps and logic graphs
  • Global: Global configuration settings
  • Constants: Reusable constant values and prompts

Installation

From PyPI (once published)

pip install amsl-schemas-mcp

From source

git clone https://github.com/yourusername/amsl-schemas-mcp.git
cd amsl-schemas-mcp
pip install -e .

Quick Start

Running the Server

amsl-schemas-mcp

Or via Python module:

python -m src.server

The server will start listening on stdio for MCP clients.

Using with an LLM

When connected to an LLM via MCP, you'll have access to:

Resources:

  • schema://amsl/collection - Collection schema
  • schema://amsl/assessment - Assessment schema
  • schema://amsl/module - Module schema
  • schema://amsl/agent - Agent schema
  • schema://amsl/global - Global schema
  • schema://amsl/constants - Constants schema

Tools:

  • Validate AMSL Schema - Validate YAML data against any schema

Development

Setup

# Install with development dependencies
pip install -e ".[dev]"

Code Quality

Format code with Black:

black src tests

Sort imports with isort:

isort src tests

Run tests:

pytest

Project Structure

.
├── src/
│   ├── __init__.py
│   └── server.py           # Main MCP server implementation
├── tests/                  # Test suite
├── pyproject.toml          # Project configuration & dependencies
├── LICENSE                 # MIT License
└── README.md              # This file

Architecture

The server is built using FastMCP, a lightweight framework for creating MCP servers:

  • Resources: Each AMSL schema type is exposed as a distinct resource with its own URI
  • Tools: A single validation tool accepts any schema type and validates data against it
  • Async: Full async/await support for non-blocking operations
  • Schema Loading: Schemas are fetched on-demand from the AMSL CDN

Configuration

Schema Source

By default, schemas are loaded from:

https://orion.s3.iism.kit.edu/amsl-content/p/schemas/

This can be configured by modifying the SCHEMAS_ROOT variable in src/server.py.

MCP Specification

This server fully implements the Model Context Protocol specification. Learn more about MCP and how to integrate servers with LLM applications.

License

MIT License - see LICENSE file for details

Built with ❤️ for the AMSL project

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

amsl_schemas_mcp-0.1.0.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

amsl_schemas_mcp-0.1.0-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file amsl_schemas_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: amsl_schemas_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.3 Darwin/25.1.0

File hashes

Hashes for amsl_schemas_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ca03103f3967ea3ac4fe34529084f632f532d2a9afb312864cd113060c33dd14
MD5 8b3523beebedd4131c732aef0e5ea4be
BLAKE2b-256 07f3a298ebf48b09a7b5d43de91ed8823ef74b81bc92165547133500ec9b5817

See more details on using hashes here.

File details

Details for the file amsl_schemas_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: amsl_schemas_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.3 Darwin/25.1.0

File hashes

Hashes for amsl_schemas_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ecb951e618b7aedec79d16e958e57ec3d9c655195b3b8c71b58cde0fdadbbeea
MD5 33b7771358c8a52139c2c042c754be6b
BLAKE2b-256 624f9259016d375f7a91185ab2c61f78b30cbf944a468ee28c63901477ddeb18

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page