[project] name = "fastmcp-slim" dynamic = ["version", "optional-dependencies"] description = "The dependency-slim FastMCP package." authors = [{ name = "Jeremiah Lowin" }] dependencies = [ "mcp-types==2.0.0b1", "platformdirs>=4.0.0", "pydantic[email]>=2.12.0", "pydantic-settings>=2.0.0", "python-dotenv>=1.1.0", "rich>=13.9.4", "typing-extensions>=4.0.0", ] requires-python = ">=3.10" readme = "README.md" license = "Apache-2.0" keywords = [ "mcp", "mcp server", "mcp client", "model context protocol", "fastmcp", "llm", "agent", ] classifiers = [ "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Typing :: Typed", ] [project.urls] Homepage = "https://gofastmcp.com" Repository = "https://github.com/PrefectHQ/fastmcp" Documentation = "https://gofastmcp.com" [project.scripts] fastmcp = "fastmcp.cli:app" [build-system] requires = ["hatchling", "uv-dynamic-versioning>=0.7.0"] build-backend = "hatchling.build" [tool.hatch.version] source = "uv-dynamic-versioning" [tool.hatch.metadata] allow-direct-references = true [tool.hatch.build.targets.wheel] packages = ["fastmcp"] [tool.uv-dynamic-versioning] vcs = "git" style = "pep440" bump = true fallback-version = "0.0.0" [tool.hatch.metadata.hooks.uv-dynamic-versioning.optional-dependencies] anthropic = ["anthropic>=0.48.0"] apps = ["prefab-ui>=0.18.0"] # PyJWT floor: transitive via msal; CVE-2026-32597 affects <= 2.11.0 azure = ["azure-identity>=1.16.0", "PyJWT>=2.12.0"] client = [ "fastmcp-slim[mcp]=={{ version }}", "authlib>=1.6.11", "py-key-value-aio[filetree,keyring,memory]>=0.4.4,<0.5.0", ] code-mode = ["pydantic-monty==0.0.17"] gemini = ["google-genai>=1.18.0", "jsonref>=1.1.0"] mcp = [ "exceptiongroup>=1.2.2", "httpx>=0.28.1,<1.0", "mcp==2.0.0b1", "opentelemetry-api>=1.28.0", # starlette floor: transitive via mcp (which only requires >=0.27). # Pin past CVE-2026-48710, which was patched in 1.0.1. "starlette>=1.0.1", ] openai = ["openai>=1.102.0"] server = [ "fastmcp-slim[mcp]=={{ version }}", "authlib>=1.6.11", "cyclopts>=4.0.0", "griffelib>=2.0.0", "jsonref>=1.1.0", "jsonschema-path>=0.3.4", "joserfc>=1.1.0", "openapi-pydantic>=0.5.1", "packaging>=24.0", "py-key-value-aio[filetree,keyring,memory]>=0.4.4,<0.5.0", "pyperclip>=1.9.0", "python-multipart>=0.0.26", "pyyaml>=6.0,<7.0", "uncalled-for>=0.2.0", "uvicorn>=0.35", "watchfiles>=1.0.0", "websockets>=15.0.1", ] tasks = ["pydocket>=0.20.0"]