70 lines
3.4 KiB
Markdown
70 lines
3.4 KiB
Markdown
---
|
|
id: manifest
|
|
slug: /reference/manifest
|
|
title: manifest.json Reference
|
|
sidebar_label: manifest.json
|
|
description: The repo-root manifest.json — what it describes, why it ships, and which fields are authoritative for the MCP marketplace bundle.
|
|
---
|
|
|
|
# `manifest.json` Reference
|
|
|
|
The `manifest.json` at the repo root describes MCP for Unity as a package — independent of Unity's UPM `package.json` (which lives at `MCPForUnity/package.json`). It's used by MCP marketplaces and aggregators to surface the project's metadata, server invocation, and tool catalog.
|
|
|
|
If you're adding a new MCP tool, update [the tool registry](/architecture/python-layers) and let CI's drift check fail any stale entry — the generator keeps the docs in sync. The `tools` block in `manifest.json` is a separate, hand-maintained surface (see Notes below).
|
|
|
|
## Top-level fields
|
|
|
|
| Field | Type | Description |
|
|
|---|---|---|
|
|
| `manifest_version` | string | Schema version for this manifest (currently `"0.3"`) |
|
|
| `name` | string | Display name shown by aggregators |
|
|
| `version` | string | Semver of the current release |
|
|
| `description` | string | One-line product description |
|
|
| `author.name` | string | Maintainer's display name |
|
|
| `author.url` | string | Maintainer's website |
|
|
| `repository.type` | string | `"git"` |
|
|
| `repository.url` | string | Canonical repo URL |
|
|
| `homepage` | string | Project homepage |
|
|
| `documentation` | string | Docs landing URL |
|
|
| `support` | string | Where to file issues |
|
|
| `icon` | string | Path to a square icon, relative to the manifest |
|
|
|
|
## `server`
|
|
|
|
Tells aggregators how to launch the Python server.
|
|
|
|
```json
|
|
"server": {
|
|
"type": "python",
|
|
"entry_point": "Server/src/main.py",
|
|
"mcp_config": {
|
|
"command": "uvx",
|
|
"args": ["--from", "mcpforunityserver", "mcp-for-unity"],
|
|
"env": {}
|
|
}
|
|
}
|
|
```
|
|
|
|
- **`type`** — runtime family. Currently always `"python"`.
|
|
- **`entry_point`** — file an aggregator would point a Python interpreter at if it weren't using `uvx`.
|
|
- **`mcp_config.command`** — recommended launch command. `uvx` keeps the dependency tree managed without a global install.
|
|
- **`mcp_config.args`** — invocation arguments. Default transport is `http`; pass `--transport stdio` to switch.
|
|
- **`mcp_config.env`** — environment variables to set before launching (telemetry opt-outs, log levels, etc.).
|
|
|
|
## `tools`
|
|
|
|
A flat array of `{ name, description }` entries listing every MCP tool the server exposes. Aggregators use it for search and category surfaces without having to introspect the live registry.
|
|
|
|
This list is hand-maintained for now. The authoritative count and metadata live in the Python tool registry — see the [Tool reference](/reference/tools) for the generated catalog with full parameter docs.
|
|
|
|
## Notes
|
|
|
|
- `manifest.json` is NOT the Unity UPM manifest. That's `MCPForUnity/package.json` (name: `com.coplaydev.unity-mcp`).
|
|
- The Python PyPI package metadata lives in `Server/pyproject.toml` (name: `mcpforunityserver`).
|
|
- All three — `manifest.json`, `package.json`, `pyproject.toml` — are independent surfaces with overlapping but non-identical fields. A rename touches all three.
|
|
- An MCPB bundle is produced from `manifest.json` via [`tools/generate_mcpb.py`](https://github.com/CoplayDev/unity-mcp/blob/beta/tools/generate_mcpb.py).
|
|
|
|
## Where it ships
|
|
|
|
The current `manifest.json` is at the repo root: [`manifest.json`](https://github.com/CoplayDev/unity-mcp/blob/beta/manifest.json).
|