lontar-mcp
Manage a Lontar blog via MCP: read published content and perform authenticated post management.
list_posts— list published posts (paginated)get_post— fetch a published post by slug, including rendered HTMLlist_drafts— list draft posts (requires token)create_post— create a draft (or scheduled post withpublished_at)update_post— update a post’s title, body, excerpt, or publish date by slugdelete_post— permanently delete a postpublish_post— publish a draft by settingpublished_atto nowunpublish_post— clearpublished_atto unpublish a post
Provides tools for managing a blog through the Lontar headless blogging API, which is built on Laravel. Allows AI agents to list, create, update, delete, publish, and unpublish posts, as well as manage drafts.
Click on "Deploy 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., "@lontar-mcp list published posts"
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.
Moved. This GitHub copy is an archive. Use the Forgejo repository.
Canonical repository: https://git.simonharms.com/thesimonharms/lontar-mcp
lontar-mcp
MCP server that gives AI agents full blog management over a Lontar headless blogging API — list and read published posts, draft new content, publish, update, and delete.
Lontar is a Laravel package; this server talks to its HTTP API so agents can manage a blog without touching the CMS UI.
Tools
Tool | Auth | Description |
| No | List published posts (paginated) |
| No | Get a published post by slug, including rendered HTML body |
| Yes | List draft posts (paginated) |
| Yes | Create a new post (draft by default) |
| Yes | Update an existing post by slug |
| Yes | Permanently delete a post |
| Yes | Publish a draft (sets |
| Yes | Unpublish a post (clears |
list_posts / list_drafts
Parameter | Type | Default | Description |
|
|
| Page number |
get_post
Parameter | Type | Description |
|
| Post slug |
create_post
Parameter | Type | Default | Description |
|
| — | Post title (slug auto-generated) |
|
| — | Post body (Markdown) |
|
| — | Short excerpt |
|
| — | ISO 8601 date; omit to save as draft |
update_post
Parameter | Type | Description |
|
| Current post slug |
|
| New title (regenerates slug) |
|
| New body (Markdown) |
|
| New excerpt |
|
| New publish date, or |
delete_post / publish_post / unpublish_post
Parameter | Type | Description |
|
| Post slug |
All tool responses are JSON strings in the MCP text content field.
Related MCP server: Ghost MCP
Install
npm install lontar-mcpOr clone and build locally:
git clone https://github.com/thesimonharms/lontar-mcp.git
cd lontar-mcp
npm install
npm run buildRequires Node.js 18+.
Environment variables
Variable | Required | Description |
| Yes | API base URL, e.g. |
| For write ops | Laravel Sanctum bearer token |
MCP configuration
Cursor / Claude Desktop
{
"mcpServers": {
"lontar": {
"command": "node",
"args": ["C:/absolute/path/to/lontar-mcp/dist/index.js"],
"env": {
"LONTAR_API_URL": "https://your-blog.example.com/api",
"LONTAR_API_TOKEN": "your-sanctum-token"
}
}
}
}If installed globally or via npx:
{
"mcpServers": {
"lontar": {
"command": "npx",
"args": ["lontar-mcp"],
"env": {
"LONTAR_API_URL": "https://your-blog.example.com/api",
"LONTAR_API_TOKEN": "your-sanctum-token"
}
}
}
}Examples
List published posts
{ "page": 1 }Get a post
{ "slug": "hello-world" }Create a draft
{
"title": "My New Post",
"body": "# Hello\n\nMarkdown content here.",
"excerpt": "A short summary"
}Publish a draft
{ "slug": "my-new-post" }Development
npm run build # bundle server to dist/
npm start # run on stdio
npm test # build + run cobasaja testsTests live in tests/ and use cobasaja to spawn the server over stdio against an in-memory mock API, asserting tool behaviour end-to-end.
License
MIT © Simon Harms
Available Tools
8 toolscreate_postA
Create a new blog post. Requires LONTAR_API_TOKEN. Slug is auto-generated from the title. Omit published_at to create a draft.
Inputs: title (required), body (required), excerpt, published_at.
delete_postA
Permanently delete a post by slug. Requires LONTAR_API_TOKEN.
Inputs: slug (required).
get_postA
Get a single published post by slug. Returns full post data including body and rendered_body (HTML).
Inputs: slug (required).
list_draftsA
List draft posts (paginated). Requires LONTAR_API_TOKEN. Returns title, slug, excerpt, and created_at.
Inputs: page.
list_postsA
List published blog posts (paginated). Returns title, slug, excerpt, and published_at for each post.
Inputs: page.
publish_postB
Publish a draft post by setting published_at to now. Requires LONTAR_API_TOKEN.
Inputs: slug (required).
unpublish_postA
Unpublish a post by clearing published_at. Requires LONTAR_API_TOKEN.
Inputs: slug (required).
update_postA
Update an existing post by slug. Requires LONTAR_API_TOKEN. Only provided fields are changed.
Inputs: slug (required), title, body, excerpt, +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 8 tools
Each tool targets a distinct action on posts or drafts: create, delete, get, list drafts, list published, publish, unpublish, update. No overlapping purposes.
All tool names follow a consistent verb_noun pattern (e.g., create_post, list_drafts, publish_post), making predictions easy.
8 tools cover the core blog post lifecycle without being excessive or too sparse. Each tool serves a clear role.
Covers full CRUD plus draft/publish state management. Minor gap: no search or filtering tools, but core workflow is complete.
Maintenance
Related MCP Connectors
Blog MCP server for AI agents. One signup call returns a blog, an API key and a live URL; then your agent publishes markdown posts and gets public URLs back. Your agent does the writing; you get a dashboard for stats.
A blog CMS that AI agents write into over MCP: Markdown drafts, versions, media, human approval.
Remote MCP server for supportsheep: run AI interviews and manage support content for your blog.
Remote MCP server for supportsheep: run AI interviews and manage support content for your blog.
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server for Alog, an AI × Human blog platform. Enables AI agents to post logs, create and publish articles, search content, and interact socially on alog.world.1921 npm1MIT
- AlicenseAqualityDmaintenanceAn MCP server for interacting with Ghost CMS blogs through AI assistants, supporting both read-only content and full admin operations.829 npm2ISC
- AlicenseAqualityCmaintenanceAn MCP server for WriteFreely that enables AI agents to publish and manage content on WriteFreely instances (including self-hosted instances and Write.as).103MIT
- AlicenseBqualityCmaintenanceOpen-source MCP server that turns any CMS backend into an AI-agent-ready content management system. It provides tools for content CRUD, idea management, and publication tracking, with safety features requiring human approval for publishing.52MIT