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.
šļø 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
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
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