A Go implementation of a Model Context Protocol (MCP) server that serves markdown files with frontmatter support from a filesystem.
{
"mcpServers": {
"go-mcp-server-mds": {
"command": "<see-readme>",
"args": []
}
}
}No install config available. Check the server's README for setup instructions.
Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
A Go implementation of a Model Context Protocol (MCP) server that serves markdown files with frontmatter support from a filesystem.
Is it safe?
No package registry to scan.
No authentication — any process on your machine can connect.
MIT. View license →
Is it maintained?
Last commit 363 days ago. 1 stars.
Will it work with my client?
Transport: stdio. Works with Claude Desktop, Cursor, Claude Code, and most MCP clients.
No automated test available for this server. Check the GitHub README for setup instructions.
No known vulnerabilities.
This server is missing a description. Tools and install config are also missing.If you've used it, help the community.
Add informationHave you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Dynamic problem-solving through sequential thought chains
A Model Context Protocol server for searching and analyzing arXiv papers
An open-source AI agent that brings the power of Gemini directly into your terminal.
The official Python SDK for Model Context Protocol servers and clients
MCP Security Weekly
Get CVE alerts and security updates for Go Mcp Server Mds and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A Go implementation of a Model Context Protocol (MCP) server that serves markdown files from a filesystem.
This server provides a way to expose markdown files through the Model Context Protocol, making them accessible as resources and providing tools to list and read markdown files. It supports markdown files with YAML or TOML frontmatter.
fs.FSThe server supports markdown files with YAML or TOML frontmatter. Frontmatter is metadata placed at the beginning of a markdown file, enclosed by delimiters.
YAML frontmatter uses --- as delimiters:
---
title: My Document
date: 2024-03-21
tags: [documentation, markdown]
---
# Document Content
TOML frontmatter uses +++ as delimiters:
+++
title = "My Document"
date = 2024-03-21
tags = ["documentation", "markdown"]
+++
# Document Content
The frontmatter metadata is parsed and made available through the server's tools and resource descriptions. This metadata can include any valid YAML or TOML data and is useful for organizing and describing your markdown documents.
go get github.com/Warashi/go-mcp-server-mds
Here's a basic example of how to create and use the MCP markdown server:
package main
import (
"context"
"os"
mcpmds "github.com/Warashi/go-mcp-server-mds"
)
func main() {
// Create a new server using the current directory
server, err := mcpmds.New(
"markdown-server",
"A server that provides access to markdown files",
os.DirFS("."),
)
if err != nil {
panic(err)
}
// Start the server
if err := server.ServeStdio(context.Background()); err != nil {
panic(err)
}
}
mcp-server-mds)This repository includes a command-line tool mcp-server-mds that runs the server directly.
To build the command-line tool:
go install github.com/Warashi/go-mcp-server-mds/cmd/mcp-server-mds@latest
To run the server, execute the built binary. It serves markdown files from a specified directory over standard input/output.
$HOME/go/bin/mcp-server-mds -path /path/to/your/markdown/files
Flags:
-path: Specifies the directory containing the markdown files to serve. Defaults to the current directory (.).-name: Sets the server name. Defaults to mcp-server-mds.-description: Sets the server description. Defaults to Markdown Documents Server.Lists all markdown files managed by the server. Returns metadata including:
Reads a specific markdown file. Requires:
path: The path to the markdown fileReturns:
Resources are accessible via file:// URIs. Each markdown file is registered as a resource with:
file://{path}text/markdownThis project is licensed under the MIT License. See the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.