Skip to main content
Glama
VitexSoftware

mastodon-mcp-server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
DEBUGNoEnable verbose loggingfalse
READ_ONLYNoDisable all write operationsfalse
MASTODON_INSTANCEYesMastodon instance URL (e.g. https://mastodon.social or just mastodon.social)
MASTODON_MCP_HOSTNoHTTP transport bind address127.0.0.1
MASTODON_MCP_PORTNoHTTP transport port8000
MASTODON_ACCESS_TOKENYesOAuth access token
MASTODON_MCP_TRANSPORTNoTransport: stdio or streamable-httpstdio
MASTODON_MCP_STATELESS_HTTPNoDisable HTTP session statefalse

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

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
instance_infoA

Get information about the connected Mastodon instance.

Returns: str: JSON with instance name, description, version, rules, etc.

account_verifyA

Get the authenticated account's own profile.

Returns: str: JSON with account id, username, display_name, followers_count, etc.

account_getB

Get a Mastodon account by its numeric ID.

account_searchB

Search for accounts by username or display name.

account_statusesC

Get statuses posted by a specific account.

account_followersC

Get followers of an account.

account_followingB

Get accounts that a given account follows.

account_followC

Follow an account.

account_unfollowC

Unfollow an account.

account_muteC

Mute an account.

account_unmuteB

Unmute an account.

account_blockC

Block an account.

account_unblockC

Unblock an account.

account_relationshipsA

Get the authenticated user's relationship to one or more accounts.

account_updateB

Update the authenticated account's profile.

timeline_homeB

Get the authenticated user's home timeline.

timeline_localB

Get the local (instance) public timeline.

timeline_publicB

Get the federated public timeline.

timeline_hashtagC

Get statuses with a specific hashtag.

status_getB

Get a single status by ID.

status_contextB

Get ancestors and descendants of a status (thread context).

status_postC

Post a new status (toot).

status_deleteB

Delete a status posted by the authenticated account.

status_favouriteA

Favourite (like) a status.

status_unfavouriteC

Remove a favourite from a status.

status_reblogB

Reblog (boost) a status.

status_unreblogB

Remove a reblog (unboost) of a status.

status_bookmarkC

Bookmark a status.

status_unbookmarkB

Remove a bookmark from a status.

status_favourited_byC

Get accounts that favourited a status.

status_reblogged_byA

Get accounts that reblogged a status.

notifications_getC

Get notifications for the authenticated account.

notification_dismissC

Dismiss (clear) a single notification.

notifications_clearA

Dismiss all notifications for the authenticated account.

Returns: str: JSON confirmation.

searchC

Search Mastodon for accounts, statuses, and hashtags.

trending_tagsC

Get trending hashtags on the instance.

trending_statusesB

Get trending statuses on the instance.

trending_linksA

Get trending links (articles) on the instance.

favouritesC

Get statuses favourited by the authenticated account.

bookmarksB

Get statuses bookmarked by the authenticated account.

lists_getB

Get all lists created by the authenticated account.

Returns: str: JSON list of list objects with id and title.

list_accountsC

Get accounts in a specific list.

list_createC

Create a new list.

list_deleteC

Delete a list.

list_accounts_addB

Add accounts to a list.

list_accounts_deleteC

Remove accounts from a list.

poll_voteC

Vote in a poll.

follow_requestsA

Get pending follow requests for the authenticated account.

follow_request_authorizeC

Approve a follow request.

follow_request_rejectC

Reject a follow request.

mutesB

Get accounts muted by the authenticated account.

blocksB

Get accounts blocked by the authenticated account.

media_postC

Upload a media file (image, video, audio) to Mastodon.

directoryC

Browse the profile directory of the instance.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

C2.9/5.0

Scored across 54 tools

Disambiguation4/5

Most tools map to clearly distinct resource+action pairs (account_get vs account_follow vs status_reblog), and the domain vocabulary is well-known. Minor overlaps exist, e.g. account_search vs the general search tool, and the notification_get/dismiss/clear trio requires reading descriptions to distinguish granularity.

Naming Consistency3/5

The dominant pattern is noun_verb (account_get, status_post, list_create), but there are notable deviations: bare nouns with no verb (mutes, blocks, favourites, bookmarks, search, directory) and scrambled multi-part names (list_accounts_add, follow_request_authorize). Plurals are also inconsistent within the same family (notifications_get vs notification_dismiss).

Tool Count2/5

54 tools is a very heavy surface for an agent to navigate and is well past the 25+ threshold for concern. The breadth of the Mastodon API justifies many of them individually, but the set would benefit from consolidation (e.g. generic follow/mute/block with an action parameter).

Completeness4/5

Coverage is broad and lifecycle-aware: accounts, statuses, timelines, lists, notifications, polls, media, follow requests, mutes/blocks, and trending data are all present with create/delete/action variants. Gaps remain around direct-message/conversation tools, status editing (only status_delete exists despite account_update), and list updates, but core workflows are covered.

Maintenance

ActivityMaintained
ResponsivenessNo issues