Skip to main content
Glama
owlstacks

OwlStack MCP

Official
by owlstacks

@owlstackapp/mcp

MCP server for OwlStack — manage social media posts, accounts, and AI usage from any MCP-aware client (Claude Desktop, Cursor, ChatGPT desktop, Continue, etc.).

Runs via npx -y @owlstackapp/mcp, no install step. Requires Node 18 or newer.

0.x release. Tool names and arguments may still change between minor versions. Pin an exact version if that matters to you.

Tools

Tool

What it does

list_posts

List posts in a workspace, filter by status

get_post

Fetch a post by id

schedule_post

Create a post (draft, scheduled, or publish-now)

edit_post

Update an existing post

cancel_post

Cancel a scheduled post

delete_post

Permanently delete a post

list_post_deliveries

Per-account delivery status for a post

list_accounts

List connected social accounts

get_account_health

Check token freshness and rate-limit headroom

list_workspaces

List workspaces the user can access

generate_caption

AI-generate or improve a caption (1 credit)

rewrite_for_platforms

Rewrite content per target platform (1 credit each)

repurpose_url

Turn a blog URL into N platform-optimized posts (6 credits)

get_ai_credits

Show current AI credit balance

Related MCP server: Solnk MCP

Setup

1. Get an API key

Generate one at https://app.owlstack.app/api-keys with the scopes you need (posts, accounts, workspaces are most common).

2. Add to your MCP client

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "owlstack": {
      "command": "npx",
      "args": ["-y", "@owlstackapp/mcp"],
      "env": {
        "OWLSTACK_API_KEY": "your-api-key"
      }
    }
  }
}

Cursor / Continue / Other

Use the same npx -y @owlstackapp/mcp command with OWLSTACK_API_KEY in the environment.

Configuration

Variable

Required

Default

OWLSTACK_API_KEY

yes

OWLSTACK_API_URL

no

https://api.owlstack.app

Self-hosted? Point OWLSTACK_API_URL at your instance.

Example prompts

"List my failed posts from this week and tell me which accounts are unhealthy."

"Take this URL and turn it into a Twitter thread, a LinkedIn post, and a dev.to summary: https://example.com/blog/post"

"How many AI credits do I have left this period?"

Contributing

Issues and pull requests are welcome at owlstacks/owlstack-mcp.

npm install
npm run lint     # tsc --noEmit
npm run build    # tsup -> dist/

License

MIT

Available Tools

14 tools
cancel_postA

Cancel a scheduled post. The post stays in the system but will not be published.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPost id (uuid)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals the key behavior (post remains in system, not published), which is valuable. But it omits other potentially relevant traits like whether the cancellation is reversible, what happens if the post is already published, or any permission requirements. This is adequate but not deeply transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the core action and immediately clarifying the key distinction from deletion. Every word earns its place; no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description covers the essential purpose and the most critical behavioral nuance. It lacks explicit error/state-mutation details, but given the low complexity, a score of 4 is appropriate rather than 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema fully documents the single parameter id (uuid), giving it 100% coverage. The description adds no additional meaning beyond what the schema provides, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description begins with a specific verb+resource: 'Cancel a scheduled post.' It clearly distinguishes from sibling tools like delete_post by specifying the outcome: the post stays but will not be published. This is a precise, non-tautological statement of purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the tool is for scheduled posts and clarifies the distinction from deletion ('stays in the system but will not be published'), giving clear context for when to choose this over delete_post. However, it doesn't explicitly name alternative tools or list exclusions, so it falls short of a perfect 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_postA

Permanently delete a post. Cannot be undone.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPost id (uuid)

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the critical behavioral trait of irreversibility ('Cannot be undone') and permanence, which warns the agent about destructive side effects. It does not describe additional consequences like cascading deletes, but the essential warning is present.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences, front-loaded with the action and resource, followed by a short warning. Every word adds value with no superfluous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, single-parameter destructive tool with no output schema or annotations, the description adequately covers the core function and the key caveat (irreversibility). It could detail side effects or prerequisites, but given the low complexity, the description is largely sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides 100% coverage with a clear description for 'id' (Post id uuid). The tool description adds no additional parameter-specific meaning beyond the schema, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Permanently delete') and the resource ('a post'), and the permanent nature distinguishes it from similar operations like cancel_post or edit_post.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for permanent removal ('Permanently delete', 'Cannot be undone'), but does not explicitly mention when to prefer this over alternatives like cancel_post for scheduled posts. No exclusions or prerequisites are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

edit_postA

Update an existing post. Only provided fields are changed.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPost id (uuid)
labelsNo
contentNo
schedule_atNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of disclosing behavior. It states 'Only provided fields are changed,' which reveals partial-update semantics, a key behavioral trait. However, it does not disclose potential side effects (e.g., rescheduling behavior when schedule_at is updated, impact on existing deliveries) or error conditions, so transparency is incomplete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, consisting of two short sentences. It is front-loaded with the core purpose and adds a key behavioral detail without any fluff. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 4 parameters, no annotations, and no output schema, so the description should provide more context. It only covers purpose and partial-update behavior, but omits return values, error handling, side effects, and any guidance on how the parameters interact. This is inadequate for a mutation tool with this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is low at 25%—only the 'id' parameter has a description. The description adds no information about the meanings or usage of 'labels', 'content', or 'schedule_at'. It only mentions the patch behavior, which does not compensate for the missing parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Update' with the resource 'post', and clarifies it applies to an existing post, distinguishing it from creation or deletion. This is clear and specific, and the sibling tools like get_post, delete_post, and schedule_post are clearly differentiated by the intent to modify an existing post.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for updating existing posts, which gives some contextual guidance. However, it does not explicitly state when to use this tool over alternatives like schedule_post, which could also modify schedule_at, or mention any exclusions. The guidance is mostly implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_captionB

Generate or improve a social media caption with AI. Optionally pass current draft text and target platforms for tone-aware output. Costs 1 AI credit.

ParametersJSON Schema
NameRequiredDescriptionDefault
platformsNo
char_limitNo
workspace_idNo
current_captionNo

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden. It adds 'Costs 1 AI credit,' which is useful economic context, and hints that the operation may create or modify content. However, it omits expected output format, permissions, rate limits, and side effects beyond the cost.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences, front-loading the core purpose before optional details, with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with four optional parameters and no output schema, a 31-word description leaves gaps including char_limit, workspace_id, and return value expectations. But it does establish purpose, optional inputs, and cost, so it's minimally adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It explains 'current draft text' and 'target platforms for tone-aware output,' mapping to two parameters, but char_limit and workspace_id are never described; the description does not fully compensate for the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses 'Generate or improve a social media caption with AI,' specifying both action and resource. It mentions optional draft and platforms, which adds scope. However, it doesn't explicitly differentiate from sibling 'rewrite_for_platforms,' which appears to handle similar caption rewriting, so it isn't a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives context for optional current_caption and platforms for tone-aware output, which guides parameter usage. But there is no explicit when-to-use or alternative recommendation, such as referencing rewrite_for_platforms.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_account_healthA

Check token freshness and rate-limit headroom for a single account. Useful when posts are failing — tells you if the OAuth token has expired.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden for behavioral disclosure. It states that the tool 'checks' and 'tells you' about token freshness and rate-limit headroom, implying a read-only operation. However, it does not disclose potential side effects, whether it makes external API calls that consume rate limits, or the meaning of 'headroom' in terms of return values. This is adequate but not fully transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences, front-loaded with the action and purpose. Every sentence adds value: the first defines what the tool does, the second provides context and an example use case. There is no wasted wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description explains the tool's input and purpose but does not describe the return format or how to interpret 'rate-limit headroom.' Since there is no output schema, the description should clarify what the agent can expect in the response. This gap makes the description incomplete, though it covers the core use case.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. The description mentions 'a single account' but does not explicitly name or explain the 'account_id' parameter, its format, or where to obtain it. The schema provides type/format but no semantic guidance. The agent would need to infer that account_id refers to the target account, but the description lacks sufficient detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Check token freshness and rate-limit headroom for a single account.' The verb 'check' is specific, the resource is 'account health', and it distinguishes itself from sibling tools like list_accounts by focusing on a single account's health rather than listing accounts. It accurately conveys the tool's unique purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use the tool: 'Useful when posts are failing — tells you if the OAuth token has expired.' This gives a clear context for invocation, though it does not explicitly mention alternatives or exclusions. The guidance is strong enough to inform an agent's decision, meriting a 4 rather than a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_ai_creditsA

Show the current AI credit balance, usage this period, and reset date.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It states the tool 'Show's information, implying a read-only operation, but does not explicitly disclose that it has no side effects, or any authentication/rate-limit considerations. The behavior is largely obvious from the name and description, but lacks explicit safety disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with only 14 words, front-loaded with the action verb 'Show'. Every word contributes to the meaning, with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with no parameters and no output schema, the description adequately covers what the tool does and what data it returns (balance, usage, reset date). This is sufficient for an agent to select and invoke it correctly, especially given the clear differentiation from siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the schema is empty. The baseline for 0 params is 4, as there are no parameters for the description to explain. The description adds no parameter-related meaning, but none is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Show' and clearly identifies the resource: AI credit balance, usage, and reset date. This clearly distinguishes it from sibling tools like post management and account tools, leaving no ambiguity about its function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context about what the tool does, but does not explicitly state when to use it or mention any alternatives. Since no sibling tool offers credit information, usage is implied rather than explicitly guided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_postA

Fetch a single post by id with full content, settings, and delivery records.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPost id (uuid)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden for behavioral disclosure. 'Fetch' implies a read-only operation with no side effects, and the mention of included data categories adds context. However, it does not explicitly discuss permissions, rate limits, or edge-case behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one front-loaded sentence with no wasted words. It states the action, target, and result content in a scannable format.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple fetch-by-id tool, the description adequately covers the purpose and return scope by listing three content categories. It does not have an output schema, but the description gives a high-level idea of the response, though edge cases like 404s are not mentioned.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema fully documents the single 'id' parameter with a description ('Post id (uuid)'), so schema coverage is 100%. The description merely repeats that it fetches by id, adding no additional semantic detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Fetch', the resource 'a single post by id', and the scope 'full content, settings, and delivery records'. This distinguishes it from siblings like list_posts (listing multiple posts) and delete_post (mutation).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving one post's complete data, which is clear context. However, it does not explicitly say when to use list_posts or list_post_deliveries instead, so it lacks explicit exclusions or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_accountsA

List connected social accounts in a workspace. Returns platform, username, primary flag, and connection status.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspace_idYes

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It discloses the returned fields but omits details like pagination, error behavior, or auth requirements. For a read-only list tool, this level of disclosure is moderate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two short, informative sentences with the verb front-loaded and no redundant words. Every part earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool, the description adequately covers purpose and return fields, which is especially useful given the absence of an output schema. It lacks details on pagination or limits, but the overall context is reasonably complete relative to the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one parameter (workspace_id) with 0% description coverage. The tool description does not explain the parameter's meaning or add any semantic nuance beyond the self-explanatory name and uuid format, leaving the compensation gap unfilled.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('List'), the resource ('connected social accounts'), and the scope ('in a workspace'), distinguishing it from sibling list tools like list_workspaces and list_posts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context by specifying the workspace scope and the returned fields (platform, username, primary flag, connection status), which implies when to use it. It does not explicitly mention exclusions or alternatives, but the purpose is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_post_deliveriesA

Show per-account delivery status (queued, publishing, published, failed) for a post.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPost id (uuid)

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It indicates a read-only 'Show' operation and lists possible statuses, but does not disclose response shape, error behavior, whether all accounts are included, or any other behavioral details. This is acceptable for a simple read tool but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that states the action and includes the relevant status values. No unnecessary words or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read-only tool with no output schema, the description covers the essential purpose and status vocabulary, but lacks details on the response format, potential errors, or account coverage. It is minimally complete but does not exceed the baseline.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema fully describes the single 'id' parameter (100% coverage as 'Post id (uuid)'). The description's phrase 'for a post' merely restates the schema, adding no new semantic value. Baseline 3 applies because the schema already carries the parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies a clear verb ('Show') and resource ('per-account delivery status'), and enumerates the status types ('queued, publishing, published, failed') with the scope 'for a post.' This strongly distinguishes it from sibling tools like list_posts or get_post.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The usage is implied: one would use this to check delivery status of a post. However, there is no explicit guidance on when to use this versus alternatives (e.g., get_post) or any exclusions, so the context is clear but not fully enumerated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_postsA

List posts in a workspace. Filter by status (draft, scheduled, published, failed) and pagination. Returns content, scheduled time, target accounts, and delivery status.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
statusNoFilter by post status
workspace_idYesWorkspace id (uuid) to list posts from

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the transparency burden. It adds return fields and filter options but does not explicitly state that the operation is read-only, nor does it describe default pagination behavior or edge cases. The 'list' wording implicitly indicates non-mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise, front-loaded sentences: purpose, filtering, and return data. No unnecessary words or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description covers essential behavior (what it lists, filters, and returns). However, it lacks explicit guidance on when to use this tool vs. siblings and does not mention any limitations or ordering. It is adequate for a straightforward list operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50% (status and workspace_id have descriptions). The description adds meanings by expanding status values and mentioning pagination, but it does not name limit/offset parameters or specify their roles beyond 'pagination'. Workspace_id is implied by 'in a workspace'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'List' with a clear resource ('posts in a workspace'), and enumerates filters and return fields. It distinguishes the tool from siblings like 'get_post' (single post) and 'list_post_deliveries' (deliveries).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage contexts (listing with status/pagination) but does not explicitly state when to use this tool versus alternatives, nor does it mention exclusions. No reference to sibling tools is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_workspacesA

List workspaces the authenticated user has access to.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description is the sole source of behavioral context. It discloses that the result is scoped to the authenticated user's access, which is useful. However, it does not describe the return format, pagination, or confirm the read-only nature, though listing implies it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no redundant information. Every word serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, parameterless list tool without an output schema, the description provides the essential context: purpose and access scoping. It could specify the return structure, but the overall complexity is low enough that the description is sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool accepts zero parameters, and the schema shows a fully covered empty object. The description adds no parameter-specific details, but none are needed given the absence of parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'List' with the resource 'workspaces' and adds the qualifier 'authenticated user has access to'. This clearly states the tool's function and differentiates it from sibling tools, none of which target workspaces.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is used when the user needs to see their accessible workspaces. It doesn't explicitly mention alternatives or exclusions, but the context is clear enough that an agent would know when to invoke it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

repurpose_urlB

Fetch a blog/article URL and generate one optimized post per requested platform in a single call. The flagship "Developer Content Stack" feature — write once, get 16 versions. Costs 6 AI credits per call regardless of platform count.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
platformsYes
workspace_idNo

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It does disclose the cost (6 AI credits per call) and the 'single call' behavior, which is useful. However, it does not clarify whether the generated posts are saved, returned, or scheduled, leaving a significant ambiguity about side effects and output.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences and each provides unique value: function, positioning, and cost. It is concise with no filler, though 'write once, get 16 versions' is slightly redundant and possibly inaccurate, which prevents a perfect score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema and no annotations, so the description must explain what happens after generation. It fails to mention return format, whether posts are persisted, or how to retrieve them. It also omits any requirement for workspace_id. This leaves the agent without crucial context for a complex feature.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It covers the url param ('Fetch a blog/article URL') and the platforms param ('per requested platform'), but completely ignores workspace_id. Additionally, the '16 versions' claim contradicts the 20-item platform enum, potentially misleading the agent about the allowed values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Fetch') and resource ('blog/article URL'), then explains the main output: generate one optimized post per requested platform. It also distinguishes itself by emphasizing the 'single call' and '16 versions' aspect, which sets it apart from sibling tools like rewrite_for_platforms.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides context that this is the 'flagship Developer Content Stack feature' and mentions 'write once, get 16 versions', implying a bulk repurposing use case. However, it does not explicitly state when to use this vs alternatives (e.g., rewrite_for_platforms, generate_caption), and gives no 'when not to use' guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rewrite_for_platformsA

Rewrite a piece of content for one or more target platforms, applying platform-specific tone and length constraints. Costs 1 AI credit per platform.

ParametersJSON Schema
NameRequiredDescriptionDefault
toneNoOptional user-defined tone override
contentYes
platformsYes
workspace_idNo

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses a valuable behavioral detail—cost per platform—which is beyond what the schema provides. It does not, however, mention whether the operation has side effects, the return structure, or any permission requirements. Since no annotations are present, the description carries the full burden but only partially meets it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: one sentence for the core function and one for the cost note. There is no fluff, and the most critical information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description explains what the tool does and its cost but omits the return format and any error/side-effect behavior. Since there is no output schema and no annotations, this creates ambiguity for the agent. However, the platform enum in the schema and the clear purpose partially compensate for the missing output details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description gives functional meaning to the two required parameters: 'content' (the piece to rewrite) and 'platforms' (the targets with platform-specific tone/length). This compensates for the low schema coverage (25%). The 'tone' parameter is already described in the schema, and 'workspace_id' is a standard context parameter. The phrase 'platform-specific constraints' enriches the platforms enum.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Rewrite a piece of content'), the target ('for one or more target platforms'), and the specific behavior ('applying platform-specific tone and length constraints'). This differentiates it from sibling tools like generate_caption or edit_post by focusing on multi-platform rewriting.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the usage context (adapting content for multiple platforms) and adds a cost consideration ('Costs 1 AI credit per platform') that helps decision-making. However, it does not explicitly name alternatives or state when NOT to use this tool, so it stops short of full exclusionary guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

schedule_postA

Create and schedule a post. Pass the body text, target account ids, and an ISO 8601 schedule_at. Omit schedule_at to save as draft. Use publish_now=true to publish immediately after creation.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelsNo
contentYesPost body text
media_urlsNoPre-uploaded media URLs from /api/v1/media/upload
account_idsYesTarget social account ids (uuids)
publish_nowNo
schedule_atNoISO 8601 timestamp; omit to save as draft
workspace_idYesWorkspace id (uuid)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses key behaviors: creating, scheduling, saving as draft, and publishing immediately. It does not mention side effects like irreversibility or auth requirements, but the core behavioral distinctions are clearly described.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three concise sentences with no redundancy. Each sentence adds distinct information: main action, draft behavior, and publish_now behavior. It is well-structured and front-loaded with the primary purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the primary modes and the main parameters, but it omits optional parameters like labels and media_urls, and does not mention the return value or post-creation behavior. Since there is no output schema, a brief note on what is returned would have improved completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaning beyond the schema by explaining that omitting schedule_at saves as draft and that publish_now=true overrides scheduling. It also names the required parameters (body text, account_ids). It does not cover labels or media_urls, but those are optional and less critical.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb and resource: 'Create and schedule a post.' It distinguishes from sibling tools like edit_post, cancel_post, and list_posts by focusing on creation and scheduling. The mention of scheduling, draft, and immediate publishing further clarifies the scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on how to use the tool: pass body text, account ids, and an ISO 8601 schedule_at; omit schedule_at for draft; use publish_now=true for immediate publishing. However, it does not explicitly mention when to use this tool instead of alternatives like edit_post or cancel_post, so it lacks full exclusion guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A4/5.0
Disambiguation5/5

Each tool targets a distinct resource and action. Post operations are split clearly (get, list, schedule, edit, cancel, delete, delivery), account tools are separate, and AI tools have distinct purposes (caption generation, platform rewriting, URL repurposing). The minimal overlap between get_post and list_post_deliveries is acceptable since the latter provides per-account detail.

Naming Consistency5/5

All tools follow a consistent verb_noun snake_case pattern (e.g., list_posts, schedule_post, get_account_health). Even multi-word actions like repurpose_url and rewrite_for_platforms maintain the structure. No mixing of casing or verb styles.

Tool Count5/5

14 tools is well within the ideal range and each tool earns its place. The count covers post CRUD, delivery, accounts, workspaces, and AI features without feeling bloated or sparse for the domain.

Completeness4/5

The core content scheduling lifecycle is fully covered: create, read, update, cancel, delete, and track delivery. Account management is read-only plus health checks, which is sufficient for the stated purpose. Minor gaps like no single-workspace getter or account update tool exist, but they are not critical for typical workflows.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Schedule and manage social media posts across 10 platforms (Instagram, Facebook, TikTok, X, LinkedIn, YouTube, Threads, Pinterest, Bluesky, Telegram) from any MCP-compatible AI assistant. Supports batch posting, media uploads, analytics, and platform-specific features like Reels, Shorts, and carousels.
    11
    421
    5
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables publishing and scheduling content across 9 social platforms (X, Instagram, TikTok, YouTube, Facebook, LinkedIn, Pinterest, Threads, Bluesky) through a single MCP tool interface, acting as a stateless proxy to the Solnk API.
    11
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A full social media management MCP server enabling post, read, schedule, and analyze across Facebook, Instagram, LinkedIn, X/Twitter, Pinterest, and YouTube from any MCP-compatible AI client.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/owlstacks/owlstack-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server