{ "$defs": { "DeploymentConfig": { "description": "Configuration for server deployment and runtime settings.", "properties": { "transport": { "anyOf": [ { "enum": ["stdio", "http", "sse"], "type": "string" }, { "type": "null" } ], "default": null, "description": "Transport protocol to use", "title": "Transport" }, "host": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Host to bind to when using HTTP transport", "examples": ["127.0.0.1", "0.0.0.0", "localhost"], "title": "Host" }, "port": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "description": "Port to bind to when using HTTP transport", "examples": [8000, 3000, 5000], "title": "Port" }, "path": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "URL path for the server endpoint", "examples": ["/mcp/", "/api/mcp/", "/sse/"], "title": "Path" }, "log_level": { "anyOf": [ { "enum": ["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"], "type": "string" }, { "type": "null" } ], "default": null, "description": "Log level for the server", "title": "Log Level" }, "cwd": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Working directory for the server process", "examples": [".", "./src", "/app"], "title": "Cwd" }, "env": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" } ], "default": null, "description": "Environment variables to set when running the server", "examples": [ { "API_KEY": "secret", "DEBUG": "true" } ], "title": "Env" }, "args": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": null, "description": "Arguments to pass to the server (after --)", "examples": [["--config", "config.json", "--debug"]], "title": "Args" } }, "title": "DeploymentConfig", "type": "object" }, "EntrypointConfig": { "description": "Configuration for server entrypoint when using object format.", "properties": { "file": { "description": "Path to Python file containing the server", "examples": ["server.py", "src/server.py", "app/main.py"], "title": "File", "type": "string" }, "object": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Name of the server object in the file (defaults to searching for mcp/server/app)", "examples": ["app", "mcp", "server"], "title": "Object" }, "repo": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Git repository URL", "examples": ["https://github.com/user/repo"], "title": "Repo" } }, "required": ["file"], "title": "EntrypointConfig", "type": "object" }, "EnvironmentConfig": { "description": "Configuration for Python environment setup.", "properties": { "python": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Python version constraint", "examples": ["3.10", "3.11", "3.12"], "title": "Python" }, "dependencies": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": null, "description": "Python packages to install with PEP 508 specifiers", "examples": [["fastmcp>=2.0,<3", "httpx", "pandas>=2.0"]], "title": "Dependencies" }, "requirements": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Path to requirements.txt file", "examples": ["requirements.txt", "../requirements/prod.txt"], "title": "Requirements" }, "project": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Path to project directory containing pyproject.toml", "examples": [".", "../my-project"], "title": "Project" }, "editable": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Directory to install in editable mode", "examples": [".", "../my-package"], "title": "Editable" } }, "title": "EnvironmentConfig", "type": "object" } }, "description": "Configuration file for FastMCP servers", "properties": { "$schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": "https://gofastmcp.com/public/schemas/fastmcp.json/v1.json", "description": "JSON schema for IDE support and validation", "title": "$Schema" }, "entrypoint": { "$ref": "#/$defs/EntrypointConfig", "description": "Server entrypoint as a string (file or file:object) or object with file/object/repo", "examples": [ "server.py", "server.py:app", { "file": "src/server.py", "object": "app" } ] }, "environment": { "$ref": "#/$defs/EnvironmentConfig", "description": "Python environment setup configuration" }, "deployment": { "$ref": "#/$defs/DeploymentConfig", "description": "Server deployment and runtime settings" } }, "required": ["entrypoint"], "title": "FastMCP Configuration", "type": "object", "$id": "https://gofastmcp.com/public/schemas/fastmcp.json/v1.json" }