Shared FastMCP infrastructure: auth, middleware, logging, server-factory helpers
Project description
fastmcp-pvl-core
Shared FastMCP infrastructure for the pvliesdonk/*-mcp server family:
auth, middleware, logging, config helpers, server-factory building blocks.
Ecosystem
fastmcp-server-template— copier template that scaffolds new FastMCP servers on top of this library.- Active consumers (as of 2026-04):
markdown-vault-mcp,scholar-mcp,image-generation-mcp. - Public API changes here propagate to consumers via periodic
copier updateruns against the template. - See the template's README for the update flow and the expected project shape.
API stability
This package is stable at 1.x and follows
semantic versioning: breaking changes bump the
major version, new features bump the minor, bugfixes bump the patch.
"Public API" means symbols re-exported from the top-level
fastmcp_pvl_core package (see __all__), which intentionally
covers both the runtime surface (auth, middleware, factory builders,
env/config helpers) and the CLI parser helpers consumed by downstream
server.py entrypoints. Modules prefixed with _ are internal and
may change without a major-version bump.
Install
uv add fastmcp-pvl-core
# If you use RemoteAuthProvider mode:
uv add "fastmcp-pvl-core[remote-auth]"
Usage
See src/fastmcp_pvl_core/ for the full surface. Typical usage:
from fastmcp import FastMCP
from fastmcp_pvl_core import (
ServerConfig, build_auth, build_instructions,
wire_middleware_stack, env,
)
config = ServerConfig.from_env("MY_APP")
mcp = FastMCP(
name="my-app",
instructions=build_instructions(read_only=False, env_prefix="MY_APP", domain_line="…"),
auth=build_auth("MY_APP", config),
)
wire_middleware_stack(mcp)
Specs
- MCP File Exchange v0.3 — convention for
cross-MCP-server file transfer (
exchange://URIs over a shared volume +httpfallback). The protocol surface (FileRef,ExchangeURI,register_file_exchange_capability) ships infastmcp_pvl_core; the runtime is tracked in issue #21.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fastmcp_pvl_core-1.1.0.tar.gz.
File metadata
- Download URL: fastmcp_pvl_core-1.1.0.tar.gz
- Upload date:
- Size: 190.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2a388e2bd90903167dc66da2d17f8714c9e979abe00c8c8860a13fa1fd53dfc0
|
|
| MD5 |
a85432f21f3cc2bc77f9a9a363635e81
|
|
| BLAKE2b-256 |
4b9ee4df782d309b9ec0249a63da29407f0b2bf43ad6d52677065a77b7524e8b
|
Provenance
The following attestation bundles were made for fastmcp_pvl_core-1.1.0.tar.gz:
Publisher:
release.yml on pvliesdonk/fastmcp-pvl-core
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fastmcp_pvl_core-1.1.0.tar.gz -
Subject digest:
2a388e2bd90903167dc66da2d17f8714c9e979abe00c8c8860a13fa1fd53dfc0 - Sigstore transparency entry: 1390239856
- Sigstore integration time:
-
Permalink:
pvliesdonk/fastmcp-pvl-core@9824883ee034f9e30a49972bc1cb69e3f5a1d96e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/pvliesdonk
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9824883ee034f9e30a49972bc1cb69e3f5a1d96e -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file fastmcp_pvl_core-1.1.0-py3-none-any.whl.
File metadata
- Download URL: fastmcp_pvl_core-1.1.0-py3-none-any.whl
- Upload date:
- Size: 39.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
35e6bd5afdbf6d6a896fe2327c7917dac20091eaebaf66daeb086e973fd39638
|
|
| MD5 |
f95d0a518424fc76cc53a725630a0943
|
|
| BLAKE2b-256 |
99ae5c2c135f87df66e75af5cb4ad222290cf84b332a087d55dc28cf05434963
|
Provenance
The following attestation bundles were made for fastmcp_pvl_core-1.1.0-py3-none-any.whl:
Publisher:
release.yml on pvliesdonk/fastmcp-pvl-core
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fastmcp_pvl_core-1.1.0-py3-none-any.whl -
Subject digest:
35e6bd5afdbf6d6a896fe2327c7917dac20091eaebaf66daeb086e973fd39638 - Sigstore transparency entry: 1390239864
- Sigstore integration time:
-
Permalink:
pvliesdonk/fastmcp-pvl-core@9824883ee034f9e30a49972bc1cb69e3f5a1d96e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/pvliesdonk
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9824883ee034f9e30a49972bc1cb69e3f5a1d96e -
Trigger Event:
workflow_dispatch
-
Statement type: