[project] name = "forge-recipe-mcp" version = "0.4.12" description = "MCP server for the Forge E-- library note catalog + Recipe authoring loop (compile / run / commit)." readme = "README.md" requires-python = ">=3.11" license = "Apache-2.0" license-files = ["LICENSE"] authors = [ { name = "Oded Fuhrmann", email = "frmoded@gmail.com" }, ] keywords = ["mcp", "model-context-protocol", "forge", "e--", "recipe", "music", "generative", "anthropic", "claude"] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Topic :: Multimedia :: Sound/Audio :: MIDI", "Topic :: Software Development :: Libraries", ] dependencies = [ "mcp>=1.0", "httpx>=0.27", "pydantic>=2", ] [project.optional-dependencies] dev = [ "pytest>=8.0", "pytest-asyncio>=0.23", "respx>=0.21", "mypy>=1.10", "ruff>=0.5", "jsonschema>=4", # tests/test_output_schemas_audit.py (drain CW-MCP-3-A) "build>=1.0", # `python -m build` for wheel/sdist ] [project.urls] Homepage = "https://github.com/frmoded/forge-mcp" Repository = "https://github.com/frmoded/forge-mcp" Documentation = "https://github.com/frmoded/forge-mcp/blob/main/docs/install.md" Issues = "https://github.com/frmoded/forge-mcp/issues" [project.scripts] forge-mcp = "forge_mcp.server:main" [build-system] requires = ["setuptools>=68"] build-backend = "setuptools.build_meta" [tool.setuptools.packages.find] where = ["src"] [tool.pytest.ini_options] testpaths = ["tests"] asyncio_mode = "auto" [tool.mypy] python_version = "3.11" strict = false ignore_missing_imports = true [tool.ruff] line-length = 100 target-version = "py311" [tool.ruff.lint] select = ["E", "F", "W", "I", "B", "UP"] ignore = ["E501"]