[project] name = "fastmcp-builder" version = "0.3.4" description = "Generate complete, runnable FastMCP 3.x MCP servers from plain-English descriptions" authors = [ { name = "saagpatel" }, ] requires-python = ">=3.12" license = { text = "MIT" } readme = "README.md" keywords = ["mcp", "fastmcp", "anthropic", "claude", "code-generation", "llm"] classifiers = [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.12", "Topic :: Software Development :: Code Generators", "Topic :: Scientific/Engineering :: Artificial Intelligence", ] dependencies = [ "anthropic>=0.87.0", "click>=8.1.0", "fastmcp>=3.4.2", "jinja2>=3.1.6", # openai is a default dep: it backs --provider openai and --provider openrouter, # both eagerly imported at startup via src/mcpforge/providers.py. "openai>=2.36.0", "pydantic>=2.0.0", "rich>=15.0.0", "pyyaml>=6.0.3", ] [project.scripts] mcpforge = "mcpforge.cli:cli" mcpforge-server = "mcpforge.mcp_server:mcp.run" # Registry alias: a console script named == the PyPI package, so the MCP server # launches via `uvx fastmcp-builder` (the MCP Registry runs a pypi/stdio server as # `uvx `, and uvx resolves to a same-named executable). fastmcp-builder = "mcpforge.mcp_server:mcp.run" [project.urls] Homepage = "https://github.com/saagpatel/mcpforge" Repository = "https://github.com/saagpatel/mcpforge" "Bug Tracker" = "https://github.com/saagpatel/mcpforge/issues" [build-system] requires = ["uv_build>=0.11.2,<0.13.0"] build-backend = "uv_build" [tool.uv.build-backend] module-name = "mcpforge" [dependency-groups] dev = [ "pytest>=9.0.3", "pytest-asyncio>=1.3.0", "ruff>=0.15.10", ] [tool.pytest.ini_options] asyncio_mode = "auto" testpaths = ["tests"] [tool.ruff] line-length = 100 target-version = "py312" [tool.ruff.lint] select = ["E", "F", "I", "UP"] ignore = [] [tool.ruff.lint.isort] known-first-party = ["mcpforge"]