go-mcp-server-mds logo

go-mcp-server-mds

by Warashi

A Go implementation of a Model Context Protocol (MCP) server that serves markdown files from a filesystem. It exposes markdown files as resources, providing tools to list and read them, and supports YAML or TOML frontmatter.

View on GitHub

Last updated: N/A

What is go-mcp-server-mds?

This server is a Go implementation of a Model Context Protocol (MCP) server designed to serve markdown files from a filesystem. It allows accessing markdown content as resources via MCP.

How to use go-mcp-server-mds?

To use the server, you can either integrate it into your Go application using the provided library or run it as a command-line tool (mcp-server-mds). The command-line tool takes a -path argument to specify the directory containing the markdown files.

Key features of go-mcp-server-mds

  • Serve markdown files via MCP

  • List available markdown files with metadata

  • Read individual markdown file contents

  • Support for YAML and TOML frontmatter

  • File system abstraction using fs.FS

  • Resource management with URI-based access

Use cases of go-mcp-server-mds

  • Exposing documentation as MCP resources

  • Providing access to configuration files via MCP

  • Serving content from a static site generator via MCP

  • Integrating markdown-based content into MCP-enabled applications

FAQ from go-mcp-server-mds

What is MCP?

MCP stands for Model Context Protocol. It is a protocol for discovering and accessing resources.

What frontmatter formats are supported?

The server supports both YAML and TOML frontmatter.

How do I specify the directory containing the markdown files?

When using the command-line tool, use the -path flag followed by the directory path.

How are resources accessed?

Resources are accessible via file:// URIs, where the path is the path to the markdown file.

What metadata is included when listing markdown files?

The metadata includes the file path, file size, and parsed frontmatter (if available).