Package products as ready-to-run MCP servers for Claude Desktop
Project description
aimarket-mcp-packager — MCP server
This repository ships a Model Context Protocol (MCP) server that packages AIMarket capabilities into self-hosted MCP server products (Docker image metadata, MCP manifest, Claude Desktop config).
Transport: stdio (mcp_stdio_server.py). Built with the official MCP Python SDK (mcp package, FastMCP).
Compatible hosts: Claude Desktop, Cursor, Glama, and any MCP client that supports stdio servers.
MCP server in this repo
| Item | Location |
|---|---|
| MCP entrypoint | mcp_stdio_server.py |
| MCP SDK dependency | requirements-mcp.txt — mcp>=1.6,<4 |
| Glama / Docker run | Dockerfile, glama.json |
| Tool implementation | aimarket_mcp_packager/packager_core.py |
Run locally:
pip install -r requirements-mcp.txt
pip install -e .
python mcp_stdio_server.py
Or with Docker (stdio MCP server):
docker build -t aimarket-mcp-packager .
docker run --rm -i aimarket-mcp-packager
MCP tools
The server exposes 3 tools (no MCP resources or prompts):
| Tool | Description |
|---|---|
package_capability |
Build an MCP server package: Docker image name, mcp_manifest, subscription tiers, connection string |
generate_dockerfile |
Generate a Dockerfile template for the packaged MCP server |
generate_claude_desktop_config |
Generate a claude_desktop_config.json snippet (mcpServers) for docker-run MCP |
Example tool call (conceptual):
{
"name": "package_capability",
"arguments": {
"capability_id": "translate.multi@v2",
"product_id": "prod-001",
"name": "Lyra",
"description": "Multilingual translator",
"input_schema": { "type": "object", "properties": { "text": { "type": "string" } }, "required": ["text"] }
}
}
input_schematakes a JSON Schema object (a JSON string is also tolerated for backward compatibility). Every tool parameter is documented in the server's tool schema for MCP clients.
MCP resources
This server does not register MCP resources or prompts — only the tools above. Output is JSON text returned from each tool call.
Client configuration
Claude Desktop
{
"mcpServers": {
"aimarket-mcp-packager": {
"command": "python",
"args": ["/path/to/aimarket-mcp-packager/mcp_stdio_server.py"]
}
}
}
Docker variant (see generate_claude_desktop_config tool output):
{
"mcpServers": {
"aimarket-mcp-packager": {
"command": "docker",
"args": ["run", "--rm", "-i", "aimarket-mcp-packager:latest"]
}
}
}
Cursor
Add the same stdio server under Settings → MCP (command + args pointing at mcp_stdio_server.py or the Docker image above).
Python library (optional)
The same packaging logic is available as a library and as an AIMarket Hub plugin (PyPI package coming soon — for now pip install -e . from this directory, or use the AIMarket Hub Docker image). Hub HTTP routes are optional; the MCP server runs standalone via mcp_stdio_server.py.
from aimarket_mcp_packager.mcp_packager import MCPPackager
packager = MCPPackager()
pkg = packager.package(
capability_id="translate.multi@v2",
product_id="prod-001",
name="Lyra",
description="Multilingual translator",
input_schema={"type": "object", "properties": {"text": {"type": "string"}}},
price_per_call_usd=0.40,
)
print(pkg.docker_image)
print(pkg.mcp_manifest)
print(packager.generate_claude_desktop_config(pkg))
When to use
- Distribute AI capabilities as self-hosted MCP servers (Docker + manifest)
- Generate Claude Desktop / Cursor MCP client configs
- Enterprise on-prem deployment with subscription tiers
Subscription tiers (packaged products)
| Tier | Calls/month | Price |
|---|---|---|
| Starter | 100 | $9.99 |
| Pro | 1,000 | $49.99 |
| Enterprise | 10,000 | $299.99 |
Documentation
| Document | Description |
|---|---|
| User guide | Install, Hub plugin, verify loaded |
| User cases | Personas and cross-plugin workflows |
| SDK integration | Code examples and hook behavior |
License
MIT · Maintained by AI-Factory
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 aimarket_mcp_packager-2.0.0.tar.gz.
File metadata
- Download URL: aimarket_mcp_packager-2.0.0.tar.gz
- Upload date:
- Size: 6.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
75d311b4313922295fd4079655721f083f2e82ca4b33dd0ffc88d5ef2b64d9fd
|
|
| MD5 |
73b4d70570d6897d46f34a1144bff9a1
|
|
| BLAKE2b-256 |
ceacb7ac53ca9988522f173676b4bb848f8475f576585f5c91af11c4ef1d65ec
|
File details
Details for the file aimarket_mcp_packager-2.0.0-py3-none-any.whl.
File metadata
- Download URL: aimarket_mcp_packager-2.0.0-py3-none-any.whl
- Upload date:
- Size: 7.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da90ed70e01756c84958c829a659d59ddfd24520b84528d9c136ba5d0b877406
|
|
| MD5 |
ce188b2641461594f64a2f80670429fe
|
|
| BLAKE2b-256 |
c54a9e3a7fcde62c50a984217929026192fd4c411e321e6ca4fdfed54d0e975a
|