| hello_writefreelyA | Simple test tool - confirms the WriteFreely MCP server is running. |
| loginA | Authenticate with WriteFreely and obtain an access token.
If WRITEFREELY_ACCESS_TOKEN environment variable is set, this tool will use
that token automatically without requiring username and password.
You can provide username and password to authenticate with a different
account, or use the environment variable for better security
(recommended for production).
Args:
username: Your WriteFreely username
(optional if WRITEFREELY_ACCESS_TOKEN is set)
password: Your WriteFreely password
(optional if WRITEFREELY_ACCESS_TOKEN is set)
Returns:
Success message with access token, or information about existing token
|
| publish_postA | Create and publish a new post on WriteFreely.
Supports anonymous posts or publishing to a specific collection/blog.
Args:
content: The main body of the post (Markdown supported)
title: Optional post title
access_token: Access token from login() or WRITEFREELY_ACCESS_TOKEN env var
Leave empty for anonymous publishing or to use env var token
collection: Optional blog/collection alias to publish into
(only works with access_token)
Returns:
Success message with post URL or error
|
| edit_postA | Update an existing post's content and/or title.
Args:
post_id: The ID of the post to update
content: The new body content for the post (Markdown supported)
title: Optional new title (leave None to keep existing title)
access_token: Access token from login() or WRITEFREELY_ACCESS_TOKEN env var
(optional if token is set via env var)
edit_token: Edit token for anonymous posts (from publish_post response)
Returns:
Success message with updated post URL or error
|
| delete_postA | Permanently delete a post.
Args:
post_id: The ID of the post to delete
access_token: Access token from login() or WRITEFREELY_ACCESS_TOKEN env var
(optional if token is set via env var)
edit_token: Edit token for anonymous posts (from publish_post response)
Returns:
Success or error message
|
| read_postA | Retrieve the content of an existing post by its ID.
Args:
post_id: The ID of the post (or slug for public posts)
access_token: Optional - needed only for private/draft posts
Can also use WRITEFREELY_ACCESS_TOKEN env var
Returns:
Post title + body (or error message)
|
| list_my_postsA | Retrieve all posts for the authenticated user.
Args:
access_token: Access token from login() or WRITEFREELY_ACCESS_TOKEN env var
(optional if token is set via env var)
Returns:
Formatted list of all user's posts with IDs, titles, and URLs
|
| list_my_collectionsA | Get all blogs/collections owned by the authenticated user.
Args:
access_token: Access token from login() or WRITEFREELY_ACCESS_TOKEN env var
(optional if token is set via env var)
Returns:
Formatted list of all user's collections with aliases, titles, and URLs
|
| browse_collectionA | List posts in a specific collection/blog.
Args:
collection_alias: The alias/name of the collection to browse
page: Page number for pagination (default: 1, returns 10 posts per page)
Returns:
Formatted list of posts in the collection
|
| browse_public_feedA | Read posts from the public read.write.as feed.
Args:
skip: Number of posts to skip for pagination
(default: 0, returns 10 posts per request)
Returns:
Formatted list of posts from the public feed
|