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_json": "{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"}}}"
}
}
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 (pip install aimarket-mcp-packager). 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