Something went wrong. Try again.
Nix Packages collection & NixOS github.com/NixOS/nixpkgs
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384{ lib, buildPythonPackage, fetchFromGitHub,
# build-system hatchling, tomli,
# dependencies fastapi, httpx, mcp, pydantic, pydantic-settings, requests, rich, typer, uvicorn,
# tests coverage, pytest-asyncio_0, pytest-cov-stub, pytestCheckHook,}:
buildPythonPackage rec { pname = "fastapi-mcp"; version = "0.4.0"; pyproject = true;
src = fetchFromGitHub { owner = "tadata-org"; repo = "fastapi_mcp"; tag = "v${version}"; hash = "sha256-TCmM5n6BF3CWEuGVSZnUL2rTYitKtn4vSCkiQvKFLKw="; };
build-system = [ hatchling tomli ];
dependencies = [ fastapi httpx mcp pydantic pydantic-settings requests rich tomli typer uvicorn ];
pythonImportsCheck = [ "fastapi_mcp" ];
nativeCheckInputs = [ coverage pytest-asyncio_0 pytest-cov-stub pytestCheckHook ];
disabledTestPaths = [ # Flaky, would try to allocate a port on Darwin "tests/test_sse_real_transport.py" ];
__darwinAllowLocalNetworking = true;
meta = { # https://github.com/tadata-org/fastapi_mcp/issues/322 broken = lib.versionAtLeast mcp.version "1.12"; description = "Expose your FastAPI endpoints as Model Context Protocol (MCP) tools, with Auth"; homepage = "https://github.com/tadata-org/fastapi_mcp"; changelog = "https://github.com/tadata-org/fastapi_mcp/blob/${src.tag}/CHANGELOG.md"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ GaetanLepage ]; };}