MCP.so
ログイン

go-mcp-server-mds

@Warashi

go-mcp-server-mds について

A Go implementation of a Model Context Protocol (MCP) server that serves markdown files with frontmatter support from a filesystem.

基本情報

カテゴリ

ファイルとストレージ

ライセンス

MIT

ランタイム

go

トランスポート

stdio

公開者

Warashi

設定

標準の設定はありません

このサーバーの README には解析可能な MCP 設定ブロックが含まれていません。インストール手順はリポジトリをご確認ください。

リポジトリ

ツール

ツールは検出されませんでした

ツールは README から自動的に抽出されます。メンテナーは ## Tools という見出しの下に記載することで、このタブに反映できます。

概要

What is go-mcp-server-mds?

A Go implementation of a Model Context Protocol (MCP) server that serves markdown files from a filesystem. It exposes markdown files as resources with URI-based access and provides tools to list and read them, supporting YAML and TOML frontmatter. Targeted at developers who want to make markdown documentation or notes available to MCP clients.

How to use go-mcp-server-mds?

Install with go get github.com/Warashi/go-mcp-server-mds. Use the Go library: create a server with mcpmds.New and start it via server.ServeStdio(context.Background()). Alternatively, install the CLI tool mcp-server-mds with go install github.com/Warashi/go-mcp-server-mds/cmd/mcp-server-mds@latest and run it with -path to specify the markdown directory.

Key features of go-mcp-server-mds

  • Serves markdown files over MCP as resources and tools
  • Lists all markdown files with metadata and frontmatter
  • Reads individual markdown file content and frontmatter
  • Supports YAML (---) and TOML (+++) frontmatter
  • Uses Go’s fs.FS for filesystem abstraction
  • URI-based resource access via file:// URIs

Use cases of go-mcp-server-mds

  • Making a local documentation folder accessible to an MCP-powered AI assistant
  • Exposing markdown notes with structured frontmatter for search or organization
  • Building an MCP-based tool that needs to read and serve markdown files from any directory
  • Integrating markdown content into larger MCP workflows (e.g., summarization or retrieval)

FAQ from go-mcp-server-mds

What frontmatter formats are supported?

YAML frontmatter (delimited by ---) and TOML frontmatter (delimited by +++) are both fully supported.

How are resources accessed?

Each markdown file is registered as a resource with a file:// URI (e.g., file:///path/to/file.md). The resource includes name, description (JSON-encoded frontmatter), MIME type text/markdown, and file size.

How can I customize the server name or description?

Use the -name and -description flags when running the CLI tool, or pass them as string arguments to the mcpmds.New function.

What transport does the server use?

The server uses standard input/output (stdio) via the ServeStdio method.

Are there any runtime dependencies?

Only Go itself; the server is a self-contained Go binary that reads markdown files from the local filesystem specified by the -path flag.

コメント

「ファイルとストレージ」の他のコンテンツ