Skip to main content
Glama
dougm1966

Publer Gateway MCP

by dougm1966

Publer Gateway MCP

One safe MCP doorway into every Publer workspace you manage.

Publer Gateway MCP is a TypeScript MCP server for teams, agencies, and solo builders who use Publer across more than one brand, business, client, or social account set. It gives Codex, Claude, and other MCP clients a careful way to discover Publer workspaces, map projects to the right account defaults, preview scheduling payloads, and only perform live writes after explicit approval.

It is built for the work that happens before the post goes out: choosing the right workspace, checking the right accounts, preparing platform-aware payloads, reviewing the dry run, and keeping secrets out of the repo.

Why This Exists

Most social scheduling automations assume one account, one workspace, one happy path. Real Publer usage is messier:

  • one API key may see multiple businesses or workspaces

  • one repo may map to a specific client, brand, or product

  • posts need preview and approval before a scheduling write

  • agents need guardrails so they do not publish to the wrong account

  • API keys must stay local, server-side, and out of chat transcripts

Publer Gateway MCP turns that into a safer workflow.

flowchart LR
  A["Codex / Claude / MCP client"] --> B["Publer Gateway MCP"]
  B --> C["Local secret env<br/>PUBLER_API_KEY"]
  B --> D["Local non-secret defaults<br/>project -> workspace/accounts"]
  B --> E["Publer API"]
  E --> F["Workspaces"]
  E --> G["Accounts"]
  E --> H["Posts, media, jobs, analytics"]

Related MCP server: postfast-mcp

What You Get

  • Workspace-aware Publer access from a single MCP server.

  • Project defaults stored locally outside app repos by default.

  • Read tools for workspaces, accounts, posts, jobs, best times, and analytics.

  • Write-capable tools that preview first and require dryRun: false plus confirm: true.

  • Reusable Codex/agent skills for safe Publer workflows.

  • Mocked tests, MIT license, security notes, examples, and CI.

Safety Model

Publer Gateway MCP is intentionally conservative.

Area

Default behavior

API keys

Read from local environment only. Never stored in project defaults.

Project defaults

Store workspace/account IDs only. No secrets.

Read tools

May call Publer directly.

Write tools

Return previews unless the call explicitly sets dryRun: false and confirm: true.

Media URL previews

Redact full URL; show host only to avoid leaking signed URLs.

Errors

Return safe status/message without API keys or raw auth headers.

Tool Surface

Tool

Purpose

Write risk

publer_list_workspaces

List available Publer businesses/workspaces.

Read

publer_list_accounts

List connected social accounts in a workspace.

Read

publer_get_project_default

Read local project routing defaults.

Local read

publer_set_project_default

Set local workspace/account defaults for a project.

Local write

publer_preview_schedule_post

Build a Publer schedule payload without calling Publer writes.

Preview

publer_schedule_post

Schedule a post only with explicit live-write confirmation.

Publer write

publer_list_posts

List scheduled, draft, failed, or published posts.

Read

publer_upload_media_from_url

Import media from a URL, preview-first.

Publer write

publer_get_job_status

Poll async Publer jobs.

Read

publer_get_best_times

Retrieve best-time suggestions for an account.

Read

publer_get_analytics

Retrieve analytics charts or post insights.

Read

Install

npm install
npm run build
npm test

Run the MCP server with your MCP client. Set PUBLER_API_KEY through the client environment, a local process manager, or a trusted secret manager. Avoid putting real keys directly in shell commands that may be saved to history.

Configuration

Name

Required

Default

Description

PUBLER_API_KEY

yes

none

Publer API key from your local Publer account settings.

PUBLER_BASE_URL

no

https://app.publer.com/api/v1

Override for testing or future API changes.

PUBLER_DEFAULT_DRY_RUN

no

true

Keeps write-capable tools in preview mode by default. Live writes still require call-level dryRun: false.

PUBLER_DEFAULTS_PATH

no

OS config folder

Path for non-secret project default mappings.

MCP Client Examples

Codex

{
  "mcpServers": {
    "publer-gateway": {
      "command": "node",
      "args": ["/absolute/path/to/publer-gateway-mcp/dist/src/index.js"],
      "env": {
        "PUBLER_API_KEY": "set-this-locally",
        "PUBLER_DEFAULT_DRY_RUN": "true"
      }
    }
  }
}

Claude Desktop

{
  "mcpServers": {
    "publer-gateway": {
      "command": "node",
      "args": ["/absolute/path/to/publer-gateway-mcp/dist/src/index.js"],
      "env": {
        "PUBLER_API_KEY": "set-this-locally",
        "PUBLER_DEFAULT_DRY_RUN": "true"
      }
    }
  }
}
  1. Call publer_list_workspaces.

  2. Pick the correct business/workspace.

  3. Call publer_list_accounts for that workspace.

  4. Call publer_set_project_default with the project path, workspace ID, and target account IDs.

  5. Call publer_preview_schedule_post.

  6. Review workspace, accounts, schedule, copy, media, and platform payload.

  7. Only after explicit approval, call publer_schedule_post with dryRun: false and confirm: true.

  8. Poll publer_get_job_status if Publer returns a job ID.

Included Agent Skills

The skills/ folder is part of the product, not an afterthought. These skills teach future agents how to use the MCP without drifting into unsafe publishing behavior.

Skill

Use it for

publer-gateway

General safe use of the MCP server.

publer-social-scheduler

Preparing, previewing, and scheduling approved social content.

publer-workspace-router

Mapping projects, repos, clients, and brands to Publer workspace/account defaults.

publer-analytics-reviewer

Retrieving and interpreting Publer analytics and best-time suggestions.

Copy these folders into a compatible Codex skill directory or package them with your own agent setup.

Example Preview Call

{
  "projectPath": "/work/acme-launch",
  "text": "Launch week starts now. See what shipped today.",
  "scheduledAt": "2026-07-14T15:00:00Z"
}

The preview tool returns the exact Publer payload it would send. The live scheduling tool will not call Publer unless the caller adds:

{
  "dryRun": false,
  "confirm": true
}

Development

npm install
npm run build
npm test
npm pack --dry-run

Tests use mocked Publer responses and do not call real Publer endpoints.

Project Plan

See docs/PROJECT_PLAN.md for the v1 milestone breakdown and acceptance criteria.

Security

See SECURITY.md. The short version: do not paste Publer secrets into chat, do not commit .env, and do not grant live write approval until the exact payload is reviewed.

License

MIT. Use it, fork it, improve it, and ship safer social automation.

Available Tools

11 tools
publer_get_analyticsC

Get Publer analytics charts or post insights for a workspace/account.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNo
fromNo
metricNo
accountIdNo
projectPathNo
workspaceIdNo

TDQS

C2.1/5.0
Behavior1/5

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

No annotations provided, so description must fully disclose behavior. It only says 'Get', implying read-only, but no details on side effects, auth requirements, rate limits, or what gets returned. Extremely minimal.

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

Conciseness2/5

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

One sentence, short, but under-specified. Lack of detail makes it less useful; conciseness is not earned when essential information is missing.

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

Completeness1/5

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

With no output schema, no annotations, and minimal description, the tool is severely under-documented. Agent cannot determine input formats, output structure, or correct usage context.

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

Parameters1/5

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

Six parameters with 0% schema description coverage. Description does not explain any parameter meaning, usage, or format. Fails to add value beyond the bare schema.

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 states it gets 'analytics charts or post insights' for a workspace/account, which is clear but does not differentiate from sibling tool 'publer_get_best_times' which also gets analytics. Verb and resource are specific, but sibling distinction is missing.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'publer_get_best_times'. No when-not-to-use or context provided.

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

publer_get_best_timesC

Get Publer best-time suggestions for an account.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdYes
projectPathNo
workspaceIdNo

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It discloses no behavioral traits such as side effects, permissions, or error behavior. Minimal transparency for an agent to use safely.

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

Conciseness3/5

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

The description is a single concise sentence, but it is under-specified. It could include parameter details without becoming overly long.

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

Completeness1/5

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

Given the three parameters and lack of output schema, the description provides no information about return values or behavior. Far from complete for agent use.

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

Parameters1/5

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

Schema description coverage is 0% and the description adds no explanation for the three parameters (accountId, projectPath, workspaceId). Fails to compensate for the 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?

The description clearly states the action (Get) and resource (best-time suggestions) for a Publer account. It distinguishes from sibling tools like publer_get_analytics, though 'best-time' could be more explicit.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, lacks prerequisites, and does not mention when not to use it. No usage context is given.

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

publer_get_job_statusC

Get status for an async Publer job such as scheduling or media import.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, and the description only says 'Get status' without revealing behavioral traits like idempotency, expected response structure, or whether repeated requests are safe. For a read-only tool, minimal detail is acceptable but still lacks clarity.

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

Conciseness3/5

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

The description is a single sentence, which is concise but lacks structure. It front-loads the purpose but omits essential details that could be briefly included.

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?

Given the simple input (one required string) and no output schema, the description should at least mention the nature of the returned status (e.g., job state, progress) to help the agent interpret results. The current description is insufficient for an agent to use the tool correctly without additional context.

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 0% description coverage for parameters. The required parameter 'jobId' is not explained in the description. The description should clarify that jobId is the identifier returned when initiating the async job, but it does not.

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?

The description clearly identifies the verb 'Get status' and the resource 'async Publer job', with specific examples like scheduling or media import. It distinguishes this tool from siblings that perform creation or listing operations.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives (e.g., polling or checking via other means). The description does not mention prerequisites, such as having previously started an async job, or indicate when not to use it.

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

publer_get_project_defaultA

Read the local non-secret Publer default workspace/account mapping for a project path.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathNo

TDQS

A3.6/5.0
Behavior3/5

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

The description identifies it as a read operation, but with no annotations, it lacks details on side effects, authentication, or error states. It is adequate but not rich.

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?

Single sentence, no fluff, directly communicates the purpose. Concise and well-structured.

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?

Given the simple schema and no output schema, the description provides basic context but lacks information on return format or default behavior when projectPath is omitted.

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%, and the tool description only mentions 'project path' without describing the parameter's behavior or default when omitted. The optionality is not explained.

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 (read), the resource (default workspace/account mapping), and the context (project path). It distinguishes from the sibling publer_set_project_default by implying the read-only nature.

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?

No explicit when-to-use or when-not-to-use guidance. The description implies it is for reading defaults, but does not compare with alternatives or specify prerequisites.

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

publer_list_accountsC

List social accounts in a Publer workspace. Use workspaceId or a project default.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathNo
workspaceIdNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations exist, so the description carries full burden. It discloses no behavioral traits such as read-only status, authentication needs, rate limits, or side effects. Only the basic listing action is described.

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

Conciseness3/5

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

The description is very short and front-loaded, but it sacrifices completeness for conciseness. It could include more detail without becoming verbose, making it minimally acceptable.

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?

Given the simple tool (2 optional params, no output schema), the description is incomplete. It does not describe the return format, whether accounts are filtered by workspace, or what 'project default' means explicitly.

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?

With 0% schema coverage, the description must compensate but only vaguely mentions workspaceId or project default. It does not explain what projectPath is, how it relates to workspaceId, or the expected format/value range of either parameter.

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 lists social accounts in a Publer workspace. The verb 'List' and resource 'social accounts' are specific, and it is distinct from sibling tools like publer_list_posts or publer_list_workspaces.

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

Usage Guidelines2/5

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

The hint 'Use workspaceId or a project default' provides minimal usage context but does not specify when to use this tool versus alternatives or when not to use it. No sibling differentiation or exclusions are mentioned.

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

publer_list_postsC

List posts by state/date/search for a workspace or project default.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNo
fromNo
stateNo
searchNo
projectPathNo
workspaceIdNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so the description carries full burden. It lacks details on pagination, ordering, rate limits, or any side effects. The brief description does not sufficiently disclose behavior.

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?

Single sentence with no wasted words. Front-loaded with the main action. Could be structured with separate sentences for clarity, but it is concise.

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?

With 6 parameters, no output schema, and no annotations, the description is minimal. It does not explain return format, pagination, errors, or usage constraints, leaving the agent under-informed.

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 0%, and the description adds some meaning by indicating that 'state', 'date' (from/to), and 'search' are filters, and 'workspaceId'/'projectPath' scope the query. However, it does not explain parameter formats, defaults, or behavior.

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?

The description clearly states the verb 'list' and resource 'posts', and specifies filtering by state, date, and search, as well as scoping by workspace or project default. It is specific and distinct from sibling tools.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, or when not to use it. The description simply states what it does without context.

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

publer_list_workspacesA

List Publer workspaces/businesses available to the API key.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations provided. Description only states core functionality, no mention of operation type (read-only) or potential behaviors. Acceptable for a simple list operation.

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?

Single clear sentence, front-loaded with verb and resource, no extraneous content.

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 simplicity (0 params, no output schema), description is adequate. Could optionally mention return format, but not essential.

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?

No parameters, schema coverage 100% (vacuously). No need for parameter details; baseline 4 for zero-parameter tool.

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?

Clear verb 'list' and resource 'workspaces/businesses' with scope 'available to the API key'. Distinguishes from sibling tools like publer_list_accounts.

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?

No explicit when-to-use or when-not-to-use. Implies use when needing workspace list, but could benefit from context like 'use this to get workspace IDs for other Publer tools'.

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

publer_preview_schedule_postB

Build and validate a Publer schedule payload without calling Publer write endpoints.

ParametersJSON Schema
NameRequiredDescriptionDefault
textNo
mediaIdsNo
networksNo
accountIdsNo
projectPathNo
scheduledAtNoISO 8601 timestamp with timezone, e.g. 2026-07-14T15:00:00Z
workspaceIdNo

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It does not mention what validation entails, return value, idempotency, authentication needs, or any side effects. The agent gets minimal guidance on behavior.

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 a single sentence with no fluff, but it is under-informative. While concise, it sacrifices necessary detail, earning a 4 rather than 5.

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 7 parameters (0 required), no output schema, and nested objects. The description does not mention return values, how validation results are communicated, or how to construct the payload. Incomplete for an agent to use effectively.

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 only 14% (only scheduledAt has a description). The tool description adds no parameter details. With 7 parameters and 0 required, the description provides no semantic help beyond the schema, which is sparse.

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 specific verbs 'Build and validate' and identifies the resource 'Publer schedule payload'. It clearly distinguishes from the sibling publer_schedule_post by stating it does not call write endpoints.

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 use for testing before actual scheduling ('without calling Publer write endpoints'), but lacks explicit when-to-use, when-not-to-use, or alternative tools. Sibling publer_schedule_post is the likely alternative but not named.

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

publer_schedule_postC

Schedule a post only when dryRun is false and confirm is exactly true.

ParametersJSON Schema
NameRequiredDescriptionDefault
textNo
dryRunNo
confirmNo
mediaIdsNo
networksNo
accountIdsNo
projectPathNo
scheduledAtNoISO 8601 timestamp with timezone, e.g. 2026-07-14T15:00:00Z
workspaceIdNo

TDQS

C2.6/5.0
Behavior2/5

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

No annotations exist, so the description must disclose all behavioral traits. It only mentions the scheduling condition, but omits details like return value, side effects, error states, or behavior when parameters are missing.

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

Conciseness2/5

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

The description is a single sentence, but it is too brief for a tool with 9 parameters and no annotations. It sacrifices necessary information for brevity, resulting in under-specification.

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

Completeness1/5

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

Given the tool's complexity (9 params, nested objects, no output schema, no annotations), the description is severely incomplete. It fails to explain core parameters, workflow, or output, making it insufficient for an agent to use correctly.

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 only 11% (only scheduledAt described). The description adds meaning only for dryRun and confirm (specific values), leaving the other 7 parameters completely undocumented. It does not compensate for the low schema coverage.

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?

The description clearly states the tool schedules a post, with specific conditions (dryRun=false, confirm=true). However, it lacks differentiation from sibling publer_preview_schedule_post, which might perform dry runs.

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 explicit conditions for use (dryRun false, confirm true), but does not name alternatives like publer_preview_schedule_post for previews, nor when not to use this tool.

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

publer_set_project_defaultC

Set a local non-secret project default workspace and optional account IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdsNo
projectPathNo
workspaceIdYes

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only indicates the operation is a set (mutation) and 'non-secret', but does not explain side effects, error conditions, permission requirements, or reversibility.

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 unnecessary words. Every word carries meaning, making it efficiently concise.

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?

For a simple setter tool with three parameters and no output schema, the description is incomplete. It fails to explain what 'default' means, the role of projectPath, or the overall effect of calling this tool. The agent lacks sufficient context to use it correctly.

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 mentions workspaceId and accountIds but does not describe projectPath, leaving one parameter undocumented. No details on format, constraints, or allowed values are provided.

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?

The description clearly states the action (set) and the target (local non-secret project default workspace and optional account IDs). It distinguishes from the sibling tool 'publer_get_project_default' which retrieves defaults. However, the term 'local' is ambiguous and could be clearer.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, such as the existence of a project, or when setting defaults is appropriate.

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

publer_upload_media_from_urlC

Import media from a URL. Defaults to dry-run unless confirm is true and dryRun is false.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
titleNo
dryRunNo
altTextNo
confirmNo
projectPathNo
workspaceIdNo

TDQS

C2.9/5.0
Behavior3/5

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

The description reveals a critical behavior: defaults to dry-run unless confirm is true and dryRun is false. This is helpful but lacks other behavioral traits like error handling, rate limits, or authentication needs, especially given no annotations are provided.

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 very concise at two sentences with no redundant information. It is front-loaded but the second sentence could be clearer. Still, it 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?

For a complex tool with many parameters and no output schema or annotations, the description is incomplete. It omits explanations for most parameters, return values, and success/failure conditions, leaving significant gaps.

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?

With 7 parameters and 0% schema description coverage, the description should compensate. It only explains the interaction of dryRun and confirm, leaving 5 parameters (url, title, altText, projectPath, workspaceId) unexplained. Insufficient for parameter understanding.

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?

The description clearly states the tool imports media from a URL, which is a specific verb+resource. It distinguishes from sibling tools like analytics or scheduling, though not explicitly excluding overlapping actions.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives, such as when to schedule versus immediate upload. The description only mentions the dry-run behavior, providing limited usage context.

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

TDQS

B3.2/5.0
Disambiguation5/5

Each tool targets a distinct operation: analytics, best times, job status, defaults, accounts, posts, workspaces, preview, schedule, set default, and media upload. No overlapping purposes.

Naming Consistency5/5

All tools follow the consistent pattern 'publer_verb_noun' with lowercase and underscores, using clear verbs like 'get', 'list', 'preview', 'schedule', 'set', and 'upload'.

Tool Count5/5

With 11 tools, the set covers workspace management, account listing, post operations, analytics, and media handling—well-scoped for a social media scheduling gateway.

Completeness3/5

Covers core workflows but lacks key post life cycle operations: no update or delete for posts, and no individual post retrieval by ID, which are notable gaps.

Maintenance

ActivitySlowing
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
    MCP server for Publer social media management API, enabling AI assistants to schedule posts, upload media, pull analytics, and manage accounts across 15+ social networks.
    15
    70
    21
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables posting and managing content across 13+ social media platforms with scheduling, analytics, AI generation, and approval workflows through natural language.
    2
    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/dougm1966/publer-gateway-mcp'

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