FAI Orchard Harvest MCP for Python
A Python, zero-runtime-dependency MCP surface for the governed Harvest pipeline.
PyPI · FAI Orchard · MCP guide
Catalog or Harvest?
| Need | Package |
|---|---|
| Read published accelerator catalog records | Orchard catalog source package frootai-mcp-orchard |
| Run repository discovery, extraction, retrieval, import, customization, or approval | frootai-orchard-mcp — this package |
Current version 0.1.1 is an early Harvest MCP surface. Confirm which handlers your installed release registers before relying on a specific pipeline operation.
Current registry truth: the tool registry declares nine handlers, including
list_pending_reviews. The0.1.1CLI help banner still says eight; treattools/listas authoritative until that banner is corrected in a future code release.
Five steps
1. Install or run in isolation
uvx frootai-orchard-mcp
Or install into a managed Python 3.10+ environment:
python -m pip install --upgrade "frootai-orchard-mcp[sdk]"
2. Connect an MCP client
{
"servers": {
"frootai-orchard-harvest": {
"type": "stdio",
"command": "uvx",
"args": ["frootai-orchard-mcp"]
}
}
}
3. Discover, extract, and retrieve
discover_repo → extract_facts → retrieve_exemplars → list_plays
These free operations establish source identity and structured evidence before any import or customization.
4. Import and customize with entitlement
import_accelerator → customize_play → re_harvest
Import and drift operations require eligible entitlements. Policy overlays and three-way diffs must remain reviewable; no entitlement implies blanket approval to overwrite a target.
5. Separate generation from approval
list_pending_reviews is reviewer-gated. approve_play is founder-gated. Keep candidate generation, review, and final promotion as separate identities and operations.
Nine-tool surface
Expand the Harvest pipeline tools and access boundaries
| Tool | Access | Purpose |
|---|---|---|
discover_repo |
Free | Resolve and classify a source repository |
extract_facts |
Free | Extract structured architecture and IaC facts |
retrieve_exemplars |
Free | Find canonical reference Plays |
list_plays |
Free | Browse the slim Play catalog |
import_accelerator |
Pro / import |
Run import and return signed artifact evidence |
customize_play |
Pro / upgrade-to-play |
Apply organization policy and return a reviewable diff |
re_harvest |
Pro / import |
Re-run at an updated source revision and report drift |
list_pending_reviews |
Reviewer | List candidates awaiting governance review |
approve_play |
Founder | Promote an authorized candidate |
Embed with injected services
from frootai_orchard_mcp import TOOL_NAMES, create_server, run_stdio
server = create_server(
services={
# Inject repository, extraction, retrieval, artifact,
# identity, telemetry, and governance adapters.
}
)
print(TOOL_NAMES)
run_stdio(server)
The core is standard-library based and designed for hermetic testing. Missing service capabilities must return explicit errors rather than synthetic success.
Protocol resources and prompts
The Harvest surface exposes frootai://plays, frootai://policy-schema, frootai://auth/device, and frootai://exemplars/{id}. Guided prompts are import-rag, import-agent, customize-for-my-company, and audit-existing-infra. Prompts prefill instructions and never invoke tools on their own.
Transport options
# Stdio — default
uvx frootai-orchard-mcp
# Streamable HTTP + SSE
uvx frootai-orchard-mcp --http --port 8080
# Inspect without starting
uvx frootai-orchard-mcp --version
uvx frootai-orchard-mcp --help
The Python 0.1.1 CLI does not advertise the npm server's --ws option. Do not assume WebSocket parity; query the selected runtime's help and MCP capabilities.
Safety boundaries
- Stdio is the smallest default process boundary.
FROOTAI_TOKENand local identity state are resolved without returning raw credentials.- Treat source repositories and generated instructions as untrusted inputs.
- Bind evidence to source revision, artifact identity, policy overlay, and approval receipt.
- Validate generated infrastructure independently before deployment.
- Keep reviewer/founder operations separate from automated import identities.
Verify and develop
Build the package and run repository-level Orchard/Harvest protocol and service-adapter tests. Every injected adapter should cover denial, timeout, malformed data, partial failure, retry, and rollback behavior.
Links
License
MIT © 2026 FrootAI.
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 frootai_orchard_mcp-0.1.1.tar.gz.
File metadata
- Download URL: frootai_orchard_mcp-0.1.1.tar.gz
- Upload date:
- Size: 66.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a174b2b8d34d91dd2e6aa72d14be22f9fb62525071209e88f5eda7427b54572
|
|
| MD5 |
085459dd12d6cdf7ba0cf27b5657098c
|
|
| BLAKE2b-256 |
34cb71498e7ded5001fa96029c008515a07bc96c66c0b5751a0e509dd9d354e9
|
File details
Details for the file frootai_orchard_mcp-0.1.1-py3-none-any.whl.
File metadata
- Download URL: frootai_orchard_mcp-0.1.1-py3-none-any.whl
- Upload date:
- Size: 55.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97ad9d9ec3be486e98e68503a83375f18c7b722ac1b4f38441a61ca9ec4f5465
|
|
| MD5 |
75f4cefa8f9d85c7e5762178531d3fa6
|
|
| BLAKE2b-256 |
f61bb7e58a27b702101a15e5ec73fcff50853c6c6d96831ad3f9a333e515b131
|