Skip to content

Manifest Reference

The manifest.json file describes your MCP server and how to run it.

{
"name": "@yourorg/your-server",
"version": "1.0.0",
"description": "What your server does",
"server": {
"type": "python",
"entry_point": "your_package.server",
"mcp_config": {
"command": "python",
"args": ["-m", "your_package.server"]
}
}
}
FieldTypeDescription
namestringPackage name in @scope/name format
versionstringSemantic version (e.g., 1.0.0)
descriptionstringShort description of what your server does
server.typestringRuntime type: python, node, or binary
server.mcp_configobjectHow to run the server
{
"$schema": "https://cdn.mpak.dev/schemas/2025-10-19/mpak.json",
"name": "@yourorg/your-server",
"version": "1.0.0",
"description": "What your server does",
"display_name": "Your Server",
"author": {
"name": "Your Name",
"email": "you@example.com",
"url": "https://example.com"
},
"license": "MIT",
"homepage": "https://github.com/yourorg/your-server",
"repository": {
"type": "git",
"url": "https://github.com/yourorg/your-server"
},
"keywords": ["mcp", "example", "demo"],
"server": {
"type": "python",
"entry_point": "your_package.server",
"mcp_config": {
"command": "python",
"args": ["-m", "your_package.server"],
"env": {
"PYTHONPATH": "${__dirname}/deps"
}
}
},
"user_config": {
"api_key": {
"type": "string",
"title": "API Key",
"description": "Your API key from example.com",
"sensitive": true,
"required": true
}
}
}

The mcp_config object defines how the CLI runs your server:

FieldTypeDescription
commandstringExecutable to run
argsstring[]Arguments to pass
envobjectEnvironment variables

Use ${__dirname} to reference the bundle’s extraction directory:

{
"mcp_config": {
"command": "node",
"args": ["${__dirname}/dist/index.js"]
}
}

Define configuration that users need to provide (API keys, etc.):

{
"user_config": {
"api_key": {
"type": "string",
"title": "API Key",
"description": "Your API key from example.com",
"sensitive": true,
"required": true,
"default": ""
}
},
"server": {
"mcp_config": {
"env": {
"API_KEY": "${user_config.api_key}"
}
}
}
}
FieldTypeDescription
typestringstring, number, boolean
titlestringHuman-readable label
descriptionstringHelp text
sensitivebooleanMask in output (default: false)
requiredbooleanMust be provided (default: false)
defaultanyDefault value if not provided

See User Configuration for more details.

For Python servers, use module execution to handle imports correctly:

{
"server": {
"type": "python",
"entry_point": "your_package.server",
"mcp_config": {
"command": "python",
"args": ["-m", "your_package.server"]
}
}
}

Your server must have a if __name__ == "__main__" block:

if __name__ == "__main__":
mcp.run() # Required for mpak bundle run

For Node.js servers, reference the compiled JavaScript:

{
"server": {
"type": "node",
"entry_point": "dist/index.js",
"mcp_config": {
"command": "node",
"args": ["${__dirname}/dist/index.js"]
}
}
}

For compiled binaries, the command points directly to the executable:

{
"server": {
"type": "binary",
"entry_point": "bin/server",
"mcp_config": {
"command": "${__dirname}/bin/server",
"args": []
}
}
}