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 schemaschema://amsl/assessment- Assessment schemaschema://amsl/module- Module schemaschema://amsl/agent- Agent schemaschema://amsl/global- Global schemaschema://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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ca03103f3967ea3ac4fe34529084f632f532d2a9afb312864cd113060c33dd14
|
|
| MD5 |
8b3523beebedd4131c732aef0e5ea4be
|
|
| BLAKE2b-256 |
07f3a298ebf48b09a7b5d43de91ed8823ef74b81bc92165547133500ec9b5817
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ecb951e618b7aedec79d16e958e57ec3d9c655195b3b8c71b58cde0fdadbbeea
|
|
| MD5 |
33b7771358c8a52139c2c042c754be6b
|
|
| BLAKE2b-256 |
624f9259016d375f7a91185ab2c61f78b30cbf944a468ee28c63901477ddeb18
|