-
Notifications
You must be signed in to change notification settings - Fork 2
API Reference
Complete API reference for the ActivityPub MCP Server.
Resources provide read-only access to fediverse data. See MCP Resources for detailed documentation.
activitypub://server-info
Get information about the MCP server.
activitypub://remote-actor/{identifier}
Get information about any actor in the fediverse.
Parameters:
-
identifier: Actor's fediverse handle (e.g.,user@mastodon.social)
activitypub://remote-timeline/{identifier}
Access any actor's timeline/outbox.
Parameters:
-
identifier: Actor's fediverse handle
activitypub://instance-info/{domain}
Get information about any fediverse instance.
Parameters:
-
domain: Instance domain (e.g.,mastodon.social)
activitypub://remote-followers/{identifier}
Get the followers list of any actor.
Parameters:
-
identifier: Actor's fediverse handle
activitypub://remote-following/{identifier}
Get the following list of any actor.
Parameters:
-
identifier: Actor's fediverse handle
Tools enable interactive operations. See MCP Tools for detailed documentation.
Discover and get information about any actor.
Input Schema:
{
identifier: string // Actor's fediverse handle
}Example:
{
"name": "discover-actor",
"arguments": {
"identifier": "Gargron@mastodon.social"
}
}Fetch recent posts from any actor's timeline.
Input Schema:
{
identifier: string // Actor's fediverse handle
limit?: number // Number of posts (1-50, default: 20)
}Example:
{
"name": "fetch-timeline",
"arguments": {
"identifier": "Gargron@mastodon.social",
"limit": 10
}
}Get detailed information about any fediverse instance.
Input Schema:
{
domain: string // Instance domain
}Example:
{
"name": "get-instance-info",
"arguments": {
"domain": "mastodon.social"
}
}Search for content on a specific instance.
Input Schema:
{
domain: string // Instance domain
query: string // Search query
type?: string // "accounts" | "statuses" | "hashtags"
}Example:
{
"name": "search-instance",
"arguments": {
"domain": "mastodon.social",
"query": "typescript",
"type": "accounts"
}
}Find popular fediverse instances.
Input Schema:
{
category?: string // "mastodon" | "pleroma" | "misskey" | etc.
topic?: string // Topic or interest
size?: string // "small" | "medium" | "large"
region?: string // Geographic region or language
beginnerFriendly?: boolean // Show only beginner-friendly
}Example:
{
"name": "discover-instances",
"arguments": {
"category": "mastodon",
"topic": "technology",
"size": "medium"
}
}Get personalized instance recommendations.
Input Schema:
{
interests: string[] // List of interests or topics
}Example:
{
"name": "recommend-instances",
"arguments": {
"interests": ["technology", "programming", "open source"]
}
}Check the health status of the MCP server.
Input Schema:
{} // No parametersExample:
{
"name": "health-check",
"arguments": {}
}Get performance metrics for the MCP server.
Input Schema:
{
operation?: string // Specific operation to get metrics for
}Example:
{
"name": "performance-metrics",
"arguments": {
"operation": "discover-actor"
}
}Prompts provide templates for guided workflows. See MCP Prompts for detailed documentation.
Get guidance on exploring the fediverse.
Arguments Schema:
{
interests: string // Your interests or topics
instanceType?: string // "mastodon" | "pleroma" | "misskey" | etc.
}Get help comparing different instances.
Arguments Schema:
{
instances: string // Comma-separated list of domains
criteria?: string // Specific criteria for comparison
}Get recommendations for discovering content.
Arguments Schema:
{
topics: string // Comma-separated topics
contentType?: string // "people" | "hashtags" | "instances" | "all"
}{
content: [
{
type: "text",
text: string // Result description and data
}
]
}{
contents: [
{
uri: string,
mimeType: string,
text: string // JSON data
}
]
}{
error: {
code: number,
message: string
}
}-
400- Invalid request parameters -
404- Resource not found -
429- Rate limit exceeded -
500- Internal server error -
503- Service unavailable
Default rate limits:
- Max requests: 100 per window
- Window duration: 15 minutes (900000ms)
- Per identifier: Tracked separately
Configure via environment variables:
RATE_LIMIT_ENABLED=true
RATE_LIMIT_MAX=100
RATE_LIMIT_WINDOW=900000Format: user@domain.tld
Example: Gargron@mastodon.social
Format: Valid domain name
Example: mastodon.social
Format: Non-empty string
Max length: 500 characters
- MCP Resources - Detailed resource documentation
- MCP Tools - Detailed tool documentation
- MCP Prompts - Detailed prompt documentation
- Examples - Practical usage examples
Made with ❤️ by Cameron Rye