PostMD MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| POSTMD_DEBUG | No | Set to 1, true, or yes to enable extra stderr logging. | |
| POSTMD_API_KEY | No | API key (pmk_…) for management tools. Optional; needed for tools requiring authentication. Sign in at postmd.turink.com, open Account → API keys. | |
| POSTMD_BASE_URL | No | Base URL of the PostMD instance. Defaults to https://postmd.turink.com. Set for a self-hosted / local instance. Origin only, no trailing slash. | https://postmd.turink.com |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| postmd_create_documentA | Publish Markdown as a PostMD web page. No API key required — anyone can publish. Returns docCode and data.shareUrl; hand shareUrl to people. With an API key the document belongs to that member and can be updated later; groupId files it into that group instead of the default one (key with documents:write). |
| postmd_create_document_from_fileA | Same as postmd_create_document, but reads the Markdown from filePath on the machine running this MCP server — use it for large files instead of pasting the body. |
| postmd_create_documents_from_filesA | Publish several .md files in one call (bulk upload). Requires an API key with documents:write. The outer resultCode is 200 even if some files failed — check data.succeeded and each entry in data.results. |
| postmd_get_documentA | Get document metadata by docCode: title, fileName, hasPassword, shareEndDate, viewerStyle, timestamps. Public — no API key needed. Content is not included; use postmd_get_document_raw for the Markdown source. |
| postmd_get_document_rawA | Get the stored Markdown source of a document. Public — no API key needed. Password-protected documents need |
| postmd_update_documentA | Update a document you own. Requires an API key with documents:write. Include |
| postmd_update_document_from_fileA | Same as postmd_update_document, but reads the new Markdown from filePath on the machine running this MCP server. |
| postmd_delete_documentA | Delete a document you own (recoverable for 30 days, then purged). Requires an API key with documents:write. |
| postmd_upload_attachmentA | Upload an image or PDF to reference from a document. Requires an API key with documents:write. Allowed types: png, jpg, jpeg, gif, webp, svg, bmp, pdf. Use the returned data.url as the image/link target in your Markdown, then publish the Markdown with postmd_create_document. |
| postmd_list_notesA | List notes and highlights on a document: your own plus every SHARED one, newest first. Requires an API key with documents:read. Each note carries mine and manageable flags — trust them instead of re-deriving permissions. Pass |
| postmd_add_noteA | Attach a note or highlight to a document. Requires an API key with documents:write. Give |
| postmd_update_noteB | Edit a note you wrote. Requires an API key with documents:write. Omitting scope keeps the current one. The note must keep text or a colour. |
| postmd_resolve_noteA | Mark a note as settled, or undo it with resolved=false. Meaningful on SHARED notes; the author or the document owner may set it. Requires an API key with documents:write. |
| postmd_delete_noteA | Delete a note: your own, or a SHARED note on a document you own. Requires an API key with documents:write. |
| postmd_list_my_notesA | List every note the key's member wrote, across all documents, with docCode and documentTitle beside each one. Requires an API key with documents:read. |
| postmd_list_groupsA | List groups the key's member belongs to. Requires an API key with groups:read. Paged. |
| postmd_list_group_documentsA | List documents in a group. Requires an API key with groups:read and documents:read. Paged; q searches title and file name (substring, case-insensitive). |
| postmd_move_document_to_groupA | Move a document you own into a group you can use, optionally into a folder of that group. A document belongs to exactly one group, so this replaces its current group. Requires an API key with documents:write. |
| postmd_create_groupA | Create a group. Requires an API key with groups:write. Documents can then be filed into it and members invited from the web app. |
| postmd_update_groupA | Rename a group or change its expiry. Owner only. Requires an API key with groups:write. clearExpireDate removes the expiry. |
| postmd_delete_groupA | Delete a group. Owner only; the default group cannot be deleted. Documents in it are not deleted. Requires an API key with groups:write. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/reinlainer/postmd-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server