{ "$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/schemas/fastmcp_config/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/schemas/fastmcp_config/v1.json" }