Rules server for agents with REST and MCP interfaces
Project description
Daimyo - Rules Server for Agents
Daimyo (大名) is an extensible Python server providing rules to AI agents through REST and MCP interfaces. Supports scope-based rules with inheritance, categories for filtering, and server federation for distributed rule management.
Features
- Multiple Interfaces: REST API, MCP (Model Context Protocol), and CLI
- Scope Inheritance: Single and multiple parent inheritance with priority-based conflict resolution
- Rule Types: Commandments (MUST) and Suggestions (SHOULD)
- Categories: Organize rules into hierarchical categories for selective retrieval
- Server Federation: Distribute scopes across multiple servers with automatic merging
- Multiple Formats: Output as YAML, JSON, or Markdown
- Clean Architecture: Domain-driven design with clear separation of concerns
- Templating System: Rules can use Jinja2 templates to be defined as generic rules that change their form depending on the context
- Extensibility via Plugins: Plugins can extend the features of daimyo instances
- Configurable Markdown Formatting: Prologues/epilogues, XML tag wrapping, and aggregated display modes
Installation
pip install daimyo
Or install from source:
git clone https://gitlab.com/Kencho1/daimyo.git
cd daimyo
pip install -e .
Quick Start
1. Set Up Your Rules
mkdir -p .daimyo
cp -r example-daimyo-rules .daimyo/rules
2. Start the Server
daimyo serve
3. Access the API
Visit http://localhost:8000/docs for interactive API documentation.
curl http://localhost:8000/api/v1/scopes/python-general/rules
Core Concepts
Rules are organized into scopes (e.g. company, team, project), each containing commandments (MUST) and suggestions (SHOULD). Scopes can inherit from parent scopes and organize rules into hierarchical categories for selective retrieval. Multiple servers can be federated to distribute scopes across deployments.
Documentation
Full documentation is available at https://daimyo.readthedocs.io/en/latest, including:
- Configuration reference
- REST API & MCP usage
- Scope and category design best practices
- Advanced topics (federation, templates, sharding)
- Plugin system
- CLI reference
Development
Running Tests
pip install -e ".[test]"
pytest
Code Quality
mypy daimyo
ruff check daimyo
ruff format daimyo
License
MIT
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 daimyo-1.16.1.tar.gz.
File metadata
- Download URL: daimyo-1.16.1.tar.gz
- Upload date:
- Size: 105.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bac01008192f8c898c5060de05e69315350a724d53025e4aff6e3062ae13dfc5
|
|
| MD5 |
9b368682500274ecbf1e401e769788f9
|
|
| BLAKE2b-256 |
fab00094a253c82977494da946fdf2c06ad503f3533fd0809585137b4141f191
|
File details
Details for the file daimyo-1.16.1-py3-none-any.whl.
File metadata
- Download URL: daimyo-1.16.1-py3-none-any.whl
- Upload date:
- Size: 92.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a0ed658918022f1d452febb63f2888ead55ddd4b067cc36b6931e9369069245e
|
|
| MD5 |
2ad6a8f66433aecb5a9d0b97c1a8f8c2
|
|
| BLAKE2b-256 |
27dced8e17b3f87cad185f2cf67c7967be8dc4febef2a7144c88d4114948705a
|