Skip to main content

MCP Shipyard

Install the mcp-shipyard distribution and import mcp_shipyard:

python -m pip install mcp-shipyard
shipyard --help

mcp_shipyard manages MCP applications independently of their tool set. It contains no Exactus, District, Conjure, FastAPI, or Docker imports.

  • models.py: JSON types, server identity, protocol failures, and outcomes.
  • payloads.py: request envelope decoding and validation.
  • responses.py: protocol and tool result encoding.
  • server.py: negotiation, discovery, authenticated dispatch, and observers.
  • tools.py: tool registration and explicit application authorization.
  • pipelines.py: pipeline request and executor contracts, and tool adapter.
  • stdio.py: bounded newline-delimited transport with caller-owned streams.
  • environments.py: approved profiles, enforceable permissions, and disposable worker lifecycle shared by providers.
  • lease_store.py and leases.py: durable ownership, expiration, serialization, restart recovery contracts and confirmed worker cleanup.
  • cli.py and __main__.py: explicit application factory and local principal for python -m mcp_shipyard serve.
  • __init__.py: public API.
  • features.py: optional terminal, package-install and resource-relay contracts.
  • pyproject.toml: the independently installable mcp-shipyard distribution.

Applications supply identity, schemas, handlers, and authorization. Monitoring is an injected observer; District can consume those events without becoming the MCP application's protocol core. Pipeline adapters own worker selection, queues, leases, cancellation, and cleanup. The host never interprets arbitrary payload values as executable code. Unexpected application errors propagate; only explicitly configured safe error types become MCP tool-error content.

The Exactus adapter in mcp/exactus_mcp/mcp_server.py now uses this shared host and registry while retaining its existing tool names and permissions. Its environment and REST services remain application adapters; importing this library never imports or starts them. Observer parameters are transient and must be redacted by a monitor before persistence. Stdio adapters do not close streams owned by their callers.

Run the independent example from the repository root:

python -m mcp_shipyard serve \
  --application examples.tools.mcp_shipyard.echo:create --principal example-user

The application factory and stdio principal are trusted operator configuration. They must never be populated directly from remote request arguments.

Environment callers choose a registered profile and an argv vector. They cannot override that profile's network, privilege, package, or exposure policy. Providers must enforce both grants and denials before starting a worker. The Conjure Docker adapter currently enforces Linux containers, non-root execution, dropped capabilities, no privilege escalation, bounded CPU/memory, read-only root, private scratch, bounded output and destruction on every exit. Network none disables guest networking; internet enables Docker bridge networking, including reachable private destinations. It is not an Internet-only firewall. Allow-list egress, privilege grants, managed package installs, resource publishing and interactive shell installation are refused by this adapter.

VM providers use the same interface, but no audited Windows or macOS template is shipped here. Contract tests for those platform names are not native guest execution evidence. A future VM adapter must clone immutable prepared images and enforce host-side egress plus guest account policy before advertising those capabilities. A shell for a network-isolated guest needs staged artifacts and an explicit control channel; enabling arbitrary networking for bootstrap is unsafe.

Metadata

Release files for mcp-shipyard 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcp-shipyard 0.1.0
File Size Uploaded Provenance Actions
mcp_shipyard-0.1.0.tar.gz 19.4 kB Without provenance Details for mcp_shipyard-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for mcp-shipyard 0.1.0
File Interpreter ABI Platform Actions
mcp_shipyard-0.1.0-py3-none-any.whl Python 3 none any Details for mcp_shipyard-0.1.0-py3-none-any.whl

Total release size: 43.4 kB

Release files / mcp_shipyard-0.1.0.tar.gz

Download URL mcp_shipyard-0.1.0.tar.gz
Size 19.4 kB
Tags Source
SHA-256 checksum
How to use checksums
1969c38688f7f4cc17c2ad1681264495d43f265e16aa655180bdaa7b5d2c4a02
BLAKE2b-256 checksum
How to use checksums
9955c55cf693095df192b008f1958117676a4ff7ee2b132b04221e7f293aece3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.9

Release files / mcp_shipyard-0.1.0-py3-none-any.whl

Download URL mcp_shipyard-0.1.0-py3-none-any.whl
Size 24.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8719bdc7b3b4dc719f072b818cd3d9fdd2efcba78b0484ba9b2e134c0b449fa7
BLAKE2b-256 checksum
How to use checksums
3305c4120ce05521a7599382188f68b9c5b213a107fb1293ecbe790394f9f7c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.9

Security for mcp-shipyard 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page