Publer Gateway MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Publer Gateway MCPList my Publer workspaces."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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: falseplusconfirm: 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 |
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 |
| List available Publer businesses/workspaces. | Read |
| List connected social accounts in a workspace. | Read |
| Read local project routing defaults. | Local read |
| Set local workspace/account defaults for a project. | Local write |
| Build a Publer schedule payload without calling Publer writes. | Preview |
| Schedule a post only with explicit live-write confirmation. | Publer write |
| List scheduled, draft, failed, or published posts. | Read |
| Import media from a URL, preview-first. | Publer write |
| Poll async Publer jobs. | Read |
| Retrieve best-time suggestions for an account. | Read |
| Retrieve analytics charts or post insights. | Read |
Install
npm install
npm run build
npm testRun 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 |
| yes | none | Publer API key from your local Publer account settings. |
| no |
| Override for testing or future API changes. |
| no |
| Keeps write-capable tools in preview mode by default. Live writes still require call-level |
| 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"
}
}
}
}Recommended Workflow
Call
publer_list_workspaces.Pick the correct business/workspace.
Call
publer_list_accountsfor that workspace.Call
publer_set_project_defaultwith the project path, workspace ID, and target account IDs.Call
publer_preview_schedule_post.Review workspace, accounts, schedule, copy, media, and platform payload.
Only after explicit approval, call
publer_schedule_postwithdryRun: falseandconfirm: true.Poll
publer_get_job_statusif 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 |
| General safe use of the MCP server. |
| Preparing, previewing, and scheduling approved social content. |
| Mapping projects, repos, clients, and brands to Publer workspace/account defaults. |
| 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-runTests 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 toolspubler_get_analyticsC
Get Publer analytics charts or post insights for a workspace/account.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | ||
| from | No | ||
| metric | No | ||
| accountId | No | ||
| projectPath | No | ||
| workspaceId | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | Yes | ||
| projectPath | No | ||
| workspaceId | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| jobId | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | No | ||
| workspaceId | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | ||
| from | No | ||
| state | No | ||
| search | No | ||
| projectPath | No | ||
| workspaceId | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | ||
| mediaIds | No | ||
| networks | No | ||
| accountIds | No | ||
| projectPath | No | ||
| scheduledAt | No | ISO 8601 timestamp with timezone, e.g. 2026-07-14T15:00:00Z | |
| workspaceId | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | ||
| dryRun | No | ||
| confirm | No | ||
| mediaIds | No | ||
| networks | No | ||
| accountIds | No | ||
| projectPath | No | ||
| scheduledAt | No | ISO 8601 timestamp with timezone, e.g. 2026-07-14T15:00:00Z | |
| workspaceId | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| accountIds | No | ||
| projectPath | No | ||
| workspaceId | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| title | No | ||
| dryRun | No | ||
| altText | No | ||
| confirm | No | ||
| projectPath | No | ||
| workspaceId | No |
TDQS
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.
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.
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.
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.
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.
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
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.
All tools follow the consistent pattern 'publer_verb_noun' with lowercase and underscores, using clear verbs like 'get', 'list', 'preview', 'schedule', 'set', and 'upload'.
With 11 tools, the set covers workspace management, account listing, post operations, analytics, and media handling—well-scoped for a social media scheduling gateway.
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
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
Manage SocialBu posts, scheduling, publishing, automations, and analytics from MCP clients.
Social media MCP: publish, schedule & analyze posts on TikTok, Instagram, YouTube, LinkedIn & X
Hosted MCP for Instagram, Facebook, X, LinkedIn, Pinterest, and Ghost. OAuth 2.1, 38 tools.
Schedule, publish, and analyze social media across 15+ platforms, plus inbox, ads, and analytics.
Related MCP Servers
- AlicenseAqualityDmaintenanceMulti-platform content distribution — draft posts, repurpose content, generate carousels, schedule, analyze performance, create threads. 7 MCP tools.717MIT
- AlicenseAqualityBmaintenanceSchedule 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.114215MIT
- AlicenseAqualityBmaintenanceMCP server for Publer social media management API, enabling AI assistants to schedule posts, upload media, pull analytics, and manage accounts across 15+ social networks.157021MIT
- AlicenseNot gradedqualityDmaintenanceEnables posting and managing content across 13+ social media platforms with scheduling, analytics, AI generation, and approval workflows through natural language.2MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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