Skip to content
Conduit

mcp server

fep-mcp

An MCP server that provides access to Fediverse Enhancement Proposals (FEPs)

dahlia/fep-mcpcommunitylistedunreviewed

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, 2026

FEP MCP

JSR GitHub Actions

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 format
  • fep://{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.

↑↓ navigate openesc close