halo-mcp
v1.0.0
Published
MCP server for Halo CMS API - enables AI assistants to manage Halo blog systems
Maintainers
Readme
Halo MCP Server
MCP (Model Context Protocol) server for Halo CMS API. Enables AI assistants like Claude to manage Halo blog systems.
Features
- Post Management: List, create, update, publish, unpublish posts
- Category Management: List, create, update, delete categories
- Tag Management: List, create, update, delete tags
- Comment Management: List comments, create comments and replies
- Attachment Management: List attachments, upload from URL
- Single Page Management: List, create, update, publish pages
- Search: Full-text search across posts
- Stats: Get site statistics
- Menu Access: List menus and menu items
- Plugin & User Info: List plugins and users
Installation
npm install
npm run buildConfiguration
Set the following environment variables:
# Required: Your Halo site URL
HALO_BASE_URL=https://your-halo-site.com
# Authentication (choose one):
# Option 1: API Token (recommended)
HALO_API_TOKEN=your-api-token
# Option 2: Username and Password
HALO_USERNAME=your-username
HALO_PASSWORD=your-passwordGetting an API Token
- Log in to your Halo admin console
- Go to User Center → Personal Access Tokens
- Create a new token with appropriate permissions
Usage with Claude Desktop
Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"halo": {
"command": "node",
"args": ["/path/to/halo-mcp/dist/index.js"],
"env": {
"HALO_BASE_URL": "https://your-halo-site.com",
"HALO_API_TOKEN": "your-api-token"
}
}
}
}Available Tools
Posts
halo_list_posts- List posts with filtering and paginationhalo_get_post- Get a specific post by namehalo_create_post- Create a new posthalo_update_post- Update an existing posthalo_publish_post- Publish a draft posthalo_unpublish_post- Unpublish a posthalo_recycle_post- Move a post to recycle binhalo_get_post_content- Get post contenthalo_update_post_content- Update post content
Categories
halo_list_categories- List all categorieshalo_get_category- Get a specific categoryhalo_create_category- Create a new categoryhalo_update_category- Update an existing categoryhalo_delete_category- Delete a categoryhalo_list_posts_by_category- List posts in a category
Tags
halo_list_tags- List all tagshalo_get_tag- Get a specific taghalo_create_tag- Create a new taghalo_update_tag- Update an existing taghalo_delete_tag- Delete a taghalo_list_posts_by_tag- List posts with a tag
Comments
halo_list_comments- List commentshalo_create_comment- Create a commenthalo_create_reply- Reply to a comment
Attachments
halo_list_attachments- List attachmentshalo_upload_attachment_from_url- Upload attachment from URLhalo_delete_attachment- Delete an attachment
Single Pages
halo_list_single_pages- List single pageshalo_get_single_page- Get a specific pagehalo_create_single_page- Create a new pagehalo_update_single_page- Update an existing pagehalo_publish_single_page- Publish a pagehalo_get_single_page_content- Get page contenthalo_update_single_page_content- Update page content
Other
halo_search- Search posts and pageshalo_get_stats- Get site statisticshalo_list_menus- List menushalo_get_primary_menu- Get the primary menuhalo_list_menu_items- List menu itemshalo_list_plugins- List pluginshalo_list_users- List usershalo_rebuild_indices- Rebuild search indices
Development
# Run in development mode
npm run dev
# Build for production
npm run build
# Start production server
npm startLicense
MIT
