Content generation and orchestration capability server
Project description
chora-compose
Content generation and orchestration capability server
Note: This package was renamed from
chora-mcp-composetochora-composeto follow thechora-[capability]naming convention.
🎯 What Is This?
chora-compose is a capability server that provides workflow-oriented content generation and orchestration. It offers intuitive workflow tools that match how agents think: "create this", "refresh stale content", "check status", "configure", "discover what's available".
Core Value Proposition: 88% tool call reduction, 74% token savings, and 60-85% time savings for template-based content generation workflows.
Features
- 5 Workflow Tools: create, refresh, inspect, configure, discover
- Idempotent Operations: Retry-safe with smart caching (fresh=cached, stale=regenerate)
- Freshness Management: Time-based policies with collection-level inheritance
- 4-Layer Architecture: Tool interface → Orchestration → Core operations → Storage
- Template-Based Generation: LLM + Jinja2 for structured content creation
- Batch Operations: Generate 90+ artifacts in <10 minutes with parallel processing
- Multi-Interface: Native API, CLI, HTTP REST, and MCP server
- Built with FastMCP - Anthropic's MCP framework
- Production-Ready: Comprehensive testing (85%+ coverage), CI/CD, quality gates
Installation
From PyPI (when published)
pip install chora-compose
From Source
git clone https://github.com/liminalcommons/chora-compose
cd chora-compose
poetry install
Quick Start
Native Python API
from chora_compose import Composer
composer = Composer()
result = await composer.create("my-artifact")
CLI
chora-compose create my-artifact
chora-compose discover
chora-compose inspect my-artifact
HTTP REST API
# Start server
uvicorn chora_compose.interfaces.http.server:app
# Use API
curl http://localhost:8000/api/v1/templates
curl -X POST http://localhost:8000/api/v1/artifacts?artifact_id=example
MCP Server
Configure in your MCP client (e.g., Claude Desktop):
{
"mcpServers": {
"chora-compose": {
"command": "chora-compose"
}
}
}
Documentation
Development
# Setup
poetry install
# Run tests
poetry run pytest
# Run with coverage
poetry run pytest --cov
# Lint & format
poetry run ruff check .
poetry run black .
Migration from chora-mcp-compose
If you're migrating from chora-mcp-compose v0.1.0, see CHANGELOG.md for breaking changes and migration guide.
Key Changes:
- Package:
chora-mcp-compose→chora-compose - Module:
chora_mcp_compose→chora_compose - CLI:
chora-mcp-compose→chora-compose
License
MIT
Links
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 chora_compose-0.2.0.tar.gz.
File metadata
- Download URL: chora_compose-0.2.0.tar.gz
- Upload date:
- Size: 32.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.11.9 Darwin/24.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aff8399df6ecef16bb50b83436ab4b0e048f9335e98ebf3ca2e7ff450706646c
|
|
| MD5 |
9cdb9ad4d386fced2657bef4dbc8868c
|
|
| BLAKE2b-256 |
06898705e3928c205ffce6309f10c3c8f367a1bca45f28eb48ba6d5039046a34
|
File details
Details for the file chora_compose-0.2.0-py3-none-any.whl.
File metadata
- Download URL: chora_compose-0.2.0-py3-none-any.whl
- Upload date:
- Size: 45.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.11.9 Darwin/24.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a10080db8eed25ef60e388057d6f4ffb103ec72b5c2c948c4fa4f707fa84025a
|
|
| MD5 |
8fb809478c80c0cf67e8db68820c12c2
|
|
| BLAKE2b-256 |
db9e78c223d2906b6737f35dd6de3e6a4565656e394ef7a245aa0b5542ad9901
|