Files
gregWiki/docs/reference/mcp-server.md
Marvin e2839584f4 Merge Docusaurus site: all content under docs/, align with gregFramework split layout
- Move markdown and wiki-import tree into docs/; keep app shell at repo root
- Point docusaurus docs path to docs/; edit links to mleem97/gregWiki
- Sync and i18n scripts use gregWiki root and ../.wiki under gregFramework
- Sidebars: workspace layout from root docs ids; plugins under mods/extensions
- Fix redirects, module catalog URLs, release note paths, and wiki-import category keys
- Update repo inventory for split repos; Dockerfile for single-repo context

Made-with: Cursor
2026-04-09 23:39:32 +02:00

2.4 KiB

title, sidebar_label, description
title sidebar_label description
MCP server (LLM-friendly modding) MCP server Model Context Protocol server bundled with the docs Docker image for assistants and IDEs.

MCP server (FrikaMF modding)

The repository ships a Model Context Protocol (MCP) server (mcp-server/) that exposes:

  • Docs search & read — Markdown under docs/ (same source as Docusaurus).
  • Hook registryfmf_hooks.json (and the same registry path in the monorepo).
  • CONTRIBUTING — conventions and workflow.
  • Repo layout — static overview and a fmf_modding_context prompt for quick context.

Use it when you want an assistant (Cursor, Claude Code, or any MCP client) to ground answers in this repo instead of guessing APIs.

Docker (single container)

The root Dockerfile builds Docusaurus into static files and runs one Node process that:

  • Serves the wiki at http://<host>:3000/ (static HTML).
  • Exposes Streamable HTTP MCP at POST /mcp and GET /mcp (SSE), plus GET /health.

From the repo root:

docker compose up docs-mcp

Default mapping: http://localhost:3040 (host) → container port 3000.

  • Docs: http://localhost:3040/wiki/
  • Health: http://localhost:3040/health
  • MCP: http://localhost:3040/mcp (client must speak MCP Streamable HTTP; session via mcp-session-id header).

:::note Security

Binding to 0.0.0.0 exposes the MCP endpoint on your network. Use only on trusted networks or behind a reverse proxy with authentication.

:::

Local (stdio) for Cursor

From mcp-server/ with the repo root as data (so docs/, CONTRIBUTING.md, and FrikaModFramework/fmf_hooks.json resolve):

cd mcp-server
node src/index.mjs --stdio --data-root ..

Point your MCP client at this command (stdio transport). Adjust --data-root if your layout differs.

Tools (summary)

Tool Purpose
fmf_search_docs Substring search across docs/**/*.md
fmf_read_doc Read one file by path under docs/
fmf_list_doc_paths Discover Markdown paths
fmf_hook_registry Raw fmf_hooks.json
fmf_read_contributing CONTRIBUTING.md
fmf_repo_layout Short monorepo overview