mcp server
fep-mcp
An MCP server that provides access to Fediverse Enhancement Proposals (FEPs)
Set up
Runs on your computer. Pick your agent and operating system.
This project does not publish an install method we can turn into a config. Follow the README instead.
README
synced Oct 21, 2026FEP MCP
An MCP (Model Context Protocol) server that provides access to Fediverse Enhancement Proposals (FEPs). This server keeps a shared local cache of the FEP repository from Codeberg, refreshes it on startup, and exposes tools and resources for AI assistants to read and search FEP documents.
Why?
Codeberg has anti-AI protections that prevent AI tools like Claude or Gemini from directly fetching FEP documents. This MCP server works around this limitation by cloning the repository locally and serving the documents through the MCP protocol.
Installation
Using JSR (recommended)
You can run the server directly from JSR:
deno run \
--no-config \
--node-modules-dir=auto \
--allow-ffi \
--allow-read \
--allow-write \
--allow-net \
--allow-env \
--allow-sys \
jsr:@hongminhee/fep-mcp
The --no-config flag disables automatic loading of local Deno configuration.
The --node-modules-dir=auto flag installs npm dependencies automatically,
avoiding errors such as “Could not find a matching package … in the
node_modules directory.” It can create a node_modules directory in the
working directory, so run the command from a writable location.
Using a prebuilt binary
Download the prebuilt binary for your platform from the releases page.
Building from source
git clone https://github.com/dahlia/fep-mcp.git
cd fep-mcp
deno task compile
Shared repository cache
The server stores the cloned FEP repository in a shared cache directory on the local machine and reuses it across restarts. On startup it tries to refresh the cache from Codeberg; if the refresh fails but an existing cache is available, the server starts with the stale local copy instead.
Set FEP_MCP_REPOSITORY_DIR to override the cache location.
Usage with Claude Desktop
Add the following to your Claude Desktop configuration file:
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
- Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"fep": {
"command": "deno",
"args": [
"run",
"--no-config",
"--node-modules-dir=auto",
"--allow-ffi",
"--allow-read",
"--allow-write",
"--allow-net",
"--allow-env",
"--allow-sys",
"jsr:@hongminhee/fep-mcp"
]
}
}
}
Usage with Claude Code
Add the server to your Claude Code MCP settings:
claude mcp add fep -- \
deno run \
--no-config \
--node-modules-dir=auto \
--allow-ffi \
--allow-read \
--allow-write \
--allow-net \
--allow-env \
--allow-sys \
jsr:@hongminhee/fep-mcp
Available tools
list_feps
Lists all FEPs with their metadata. Optionally filter by status (DRAFT,
FINAL, or WITHDRAWN).
get_fep
Retrieves a specific FEP document by its 4-character hex slug (e.g., a4ed).
search_feps
Searches FEPs by title, author, or content.
refresh_repository
Pulls the latest FEP documents from the repository.
Available resources
fep://index— The complete FEP index in JSON formatfep://{slug}— Individual FEP documents by slug
License
Copyright © 2025–2026 Hong Minhee and contributors.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
See the LICENSE file for details.