MCP Markdown Template
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Markdown Templateload templates from my local directory at /home/user/project/templates and create API endpoints"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🚀 Core Idea
Transform markdown templates (like GitHub Issue templates) into MCP tools automatically. Write a template once, get both a FastAPI endpoint and an MCP tool.
Related MCP server: FastAPI-MCP
🏗️ Architecture
mcp_tools/
├── models.py # Data models (Template, TemplateVariable)
├── loader.py # Load templates from files, directories, URLs
├── parser.py # Extract variables & render with Jinja2
├── generator.py # Create FastAPI endpoints dynamically
└── server.py # FastMCP server with CORSHow it works:
Load - Fetch templates from local files, directories, or URLs
Parse - Extract
<variables>and metadata from YAML frontmatterGenerate - Create typed FastAPI endpoints with Pydantic models
Serve - Expose as both REST API (
/api/docs) and MCP tools (/mcp)
🌟 Features
Auto-generate MCP tools from markdown templates
Multiple sources - Load from local files, directories, or URLs
Swagger UI - Test endpoints at
/api/docsDocker ready - Production-ready container setup
CI/CD - GitHub Actions for automated workflows
🛠️ Getting Started
Local Development
Install dependencies:
uv syncRun the MCP server:
uv run uvicorn mcp_tools.main:starlette_app --host 127.0.0.1 --port 8000Docker
Build the Docker image:
docker build -t docker.io/username/mcp-markdown-template:latest .Run the container with various template sources:
# Mount local templates directory
docker run -i --rm -p 8000:8000 \
-v /path/to/your/templates:/app/templates \
-e MCP_TEMPLATES_SOURCE=/app/templates \
docker.io/hsiangjenli/mcp-markdown-template:latest# Load from URL (GitHub raw URL)
docker run -i --rm -p 8000:8000 \
-e MCP_TEMPLATES_SOURCE=https://raw.githubusercontent.com/hsiangjenli/mcp-markdown-template/refs/heads/main/.github/ISSUE_TEMPLATE/demo.md \
docker.io/hsiangjenli/mcp-markdown-template:latest# Multiple sources (comma-separated)
docker run -i --rm -p 8000:8000 \
-e MCP_TEMPLATES_SOURCE="/app/templates,https://raw.githubusercontent.com/owner/repo/main/template.md" \
-v /path/to/local/templates:/app/templates \
docker.io/hsiangjenli/mcp-markdown-template:latestMCP Server configuration (for Claude Desktop, etc.):
{
"servers": {
"markdown-template": {
"url": "http://localhost:8000/mcp",
"type": "http"
}
},
"inputs": []
}Template Sources
Format | Example |
Local directory |
|
Local file |
|
URL |
|
Multiple |
|
Environment Variables
Variable | Default |
|
|
|
|
|
|
📚 Documentation
Build docs locally:
scripts/build_docs.sh && uv run mkdocs buildThis server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hsiangjenli/mcp-markdown-template'
If you have feedback or need assistance with the MCP directory API, please join our Discord server