Install this version:
emerge -a =dev-python/fastmcp-3.4.7
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =dev-python/fastmcp-3.4.7
Or alternatively:
emerge --autounmask-write -a =dev-python/fastmcp-3.4.7
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 3.4.7 | 8 | ~amd64 | 0 |
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=hatchling
PYTHON_COMPAT=( python3_{11,12,13,14} )
inherit distutils-r1 pypi
DESCRIPTION="The fast, Pythonic way to build MCP servers and clients."
HOMEPAGE="https://github.com/PrefectHQ/fastmcp"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
RDEPEND=">=dev-python/authlib-1.6.11[${PYTHON_USEDEP}]
>=dev-python/cyclopts-4.0.0[${PYTHON_USEDEP}]
>=dev-python/exceptiongroup-1.2.2[${PYTHON_USEDEP}]
>=dev-python/griffelib-2.0.0[${PYTHON_USEDEP}]
>=dev-python/httpx-0.28.1[${PYTHON_USEDEP}]
<dev-python/httpx-1.0[${PYTHON_USEDEP}]
>=dev-python/joserfc-1.1.0[${PYTHON_USEDEP}]
>=dev-python/jsonref-1.1.0[${PYTHON_USEDEP}]
>=dev-python/jsonschema-path-0.3.4[${PYTHON_USEDEP}]
>=dev-python/mcp-1.24.0[${PYTHON_USEDEP}]
<dev-python/mcp-2.0[${PYTHON_USEDEP}]
>=dev-python/openapi-pydantic-0.5.1[${PYTHON_USEDEP}]
>=dev-python/opentelemetry-api-1.20.0[${PYTHON_USEDEP}]
>=dev-python/packaging-24.0[${PYTHON_USEDEP}]
>=dev-python/platformdirs-4.0.0[${PYTHON_USEDEP}]
>=dev-python/py-key-value-aio-0.4.4[${PYTHON_USEDEP}]
<dev-python/py-key-value-aio-0.5.0[${PYTHON_USEDEP}]
>=dev-python/pydantic-2.11.7[${PYTHON_USEDEP}]
>=dev-python/pydantic-settings-2.0.0[${PYTHON_USEDEP}]
>=dev-python/pyperclip-1.9.0[${PYTHON_USEDEP}]
>=dev-python/python-dotenv-1.1.0[${PYTHON_USEDEP}]
>=dev-python/python-multipart-0.0.26[${PYTHON_USEDEP}]
>=dev-python/pyyaml-6.0[${PYTHON_USEDEP}]
<dev-python/pyyaml-7.0[${PYTHON_USEDEP}]
>=dev-python/rich-13.9.4[${PYTHON_USEDEP}]
>=dev-python/starlette-1.0.1[${PYTHON_USEDEP}]
>=dev-python/typing-extensions-4.0.0[${PYTHON_USEDEP}]
>=dev-python/uncalled-for-0.2.0[${PYTHON_USEDEP}]
>=dev-python/uvicorn-0.35[${PYTHON_USEDEP}]
>=dev-python/watchfiles-1.0.0[${PYTHON_USEDEP}]
>=dev-python/websockets-15.0.1[${PYTHON_USEDEP}]"
BDEPEND="test? (
dev-python/dirty-equals[${PYTHON_USEDEP}]
dev-python/fastapi[${PYTHON_USEDEP}]
dev-python/inline-snapshot[${PYTHON_USEDEP}]
dev-python/ipython[${PYTHON_USEDEP}]
dev-python/opentelemetry-exporter-otlp-proto-grpc[${PYTHON_USEDEP}]
dev-python/opentelemetry-sdk[${PYTHON_USEDEP}]
dev-python/pdbpp[${PYTHON_USEDEP}]
dev-python/psutil[${PYTHON_USEDEP}]
dev-python/pyinstrument[${PYTHON_USEDEP}]
dev-python/pyperclip[${PYTHON_USEDEP}]
dev-python/pytest-asyncio[${PYTHON_USEDEP}]
dev-python/pytest-cov[${PYTHON_USEDEP}]
dev-python/pytest-env[${PYTHON_USEDEP}]
dev-python/pytest-examples[${PYTHON_USEDEP}]
dev-python/pytest-flakefinder[${PYTHON_USEDEP}]
dev-python/pytest-httpx[${PYTHON_USEDEP}]
dev-python/pytest-report[${PYTHON_USEDEP}]
dev-python/pytest-retry[${PYTHON_USEDEP}]
dev-python/pytest-timeout[${PYTHON_USEDEP}]
dev-python/pytest-xdist[${PYTHON_USEDEP}]
)"
src_prepare() {
# As of 3.x the top-level fastmcp distribution is an empty meta-package that
# merely depends on fastmcp-slim; the actual module lives in fastmcp_slim/.
# Build that project from the sdist root so tests/ stays in reach, treating
# fastmcp_slim/ as a src-layout directory.
cp fastmcp_slim/pyproject.toml pyproject.toml || die
# uv-dynamic-versioning is not packaged. It only supplies the version and
# the extras, and both are expressed statically here and in RDEPEND.
sed -i \
-e 's/^dynamic = .*/version = "'"${PV}"'"/' \
-e 's/, "uv-dynamic-versioning>=0.7.0"//' \
-e 's|^packages = \["fastmcp"\]|packages = ["fastmcp_slim/fastmcp"]|' \
-e '/^\[tool\.hatch\.version\]/,/^$/d' \
-e '/^\[tool\.uv-dynamic-versioning\]/,/^$/d' \
-e '/^\[tool\.hatch\.metadata\.hooks\.uv-dynamic-versioning/,$d' \
pyproject.toml || die
distutils-r1_src_prepare
}
EPYTEST_PLUGINS=( pytest-asyncio pytest-cov pytest-env pytest-examples pytest-flakefinder pytest-httpx pytest-report pytest-retry pytest-timeout pytest-xdist )
distutils_enable_tests pytest
>=dev-python/authlib-1.6.11[] >=dev-python/cyclopts-4.0.0[] >=dev-python/exceptiongroup-1.2.2[] >=dev-python/griffelib-2.0.0[] >=dev-python/httpx-0.28.1[] <dev-python/httpx-1.0[] >=dev-python/joserfc-1.1.0[] >=dev-python/jsonref-1.1.0[] >=dev-python/jsonschema-path-0.3.4[] >=dev-python/mcp-1.24.0[] <dev-python/mcp-2.0[] >=dev-python/openapi-pydantic-0.5.1[] >=dev-python/opentelemetry-api-1.20.0[] >=dev-python/packaging-24.0[] >=dev-python/platformdirs-4.0.0[] >=dev-python/py-key-value-aio-0.4.4[] <dev-python/py-key-value-aio-0.5.0[] >=dev-python/pydantic-2.11.7[] >=dev-python/pydantic-settings-2.0.0[] >=dev-python/pyperclip-1.9.0[] >=dev-python/python-dotenv-1.1.0[] >=dev-python/python-multipart-0.0.26[] >=dev-python/pyyaml-6.0[] <dev-python/pyyaml-7.0[] >=dev-python/rich-13.9.4[] >=dev-python/starlette-1.0.1[] >=dev-python/typing-extensions-4.0.0[] >=dev-python/uncalled-for-0.2.0[] >=dev-python/uvicorn-0.35[] >=dev-python/watchfiles-1.0.0[] >=dev-python/websockets-15.0.1[]
test? ( dev-python/dirty-equals[] dev-python/fastapi[] dev-python/inline-snapshot[] dev-python/ipython[] dev-python/opentelemetry-exporter-otlp-proto-grpc[] dev-python/opentelemetry-sdk[] dev-python/pdbpp[] dev-python/psutil[] dev-python/pyinstrument[] dev-python/pyperclip[] dev-python/pytest-asyncio[] dev-python/pytest-cov[] dev-python/pytest-env[] dev-python/pytest-examples[] dev-python/pytest-flakefinder[] dev-python/pytest-httpx[] dev-python/pytest-report[] dev-python/pytest-retry[] dev-python/pytest-timeout[] dev-python/pytest-xdist[] )