campaign-creator-provider
Click on "Deploy 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., "@campaign-creator-providerCreate a bilingual campaign plan from https://example.com to increase signups"
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.
Campaign Creator Provider
Independent, local-first TypeScript provider that creates a bilingual campaign strategy, channel copy, and publishing calendar from a URL and an objective. It exposes a typed library API, an MCP-shaped JSON-RPC stdio contract, and a small HTTP API deployed on Vercel.
The provider generates deterministic fixture content. It does not fetch the submitted URL, call external services, publish content, persist inputs, or interact with Stellar Bazaar.
Features
Spanish (
es, default) and English (en) outputStrategy, channel copy, and a configurable 1–30 day calendar
X, LinkedIn, Instagram, and email channels
JSON Schema tool definition and structured validation errors
HTTP, TypeScript, and MCP-shaped stdio entrypoints over one generator
Network-free deterministic generation
Apache-2.0 licensed
Related MCP server: publiar-mcp
HTTP API
Discovery
curl https://campaign-creator-provider.vercel.app/Health
curl https://campaign-creator-provider.vercel.app/healthCreate a campaign
curl -X POST https://campaign-creator-provider.vercel.app/api/campaign \
-H "content-type: application/json" \
-d '{"url":"https://example.com/product","objective":"Increase qualified sign-ups","locale":"en","days":7,"channels":["linkedin","email"]}'Required fields are url (an absolute HTTP/HTTPS URL) and objective. Optional fields are:
Field | Type | Default | Constraints |
|
|
| Supported output language |
| integer |
| 1–30 |
| array | all channels | One or more of |
| string | localized fixture | Non-empty |
Successful requests return the campaign object directly with HTTP 200. Invalid inputs return HTTP 400 and a stable JSON error object containing validation issues. Routes support CORS and do not cache responses.
TypeScript API
import { createCampaign } from "@stellar-bazaar/campaign-creator-provider";
const campaign = createCampaign({
url: "https://example.com/product",
objective: "Increase qualified sign-ups",
locale: "en",
days: 7,
channels: ["linkedin", "email"]
});The returned CampaignPlan contains strategy, copy, calendar, source context, and fixture metadata.
MCP-shaped stdio contract
The built server accepts one JSON-RPC 2.0 object per line on stdin and writes one response per line on stdout. It implements initialize, tools/list, tools/call, and notifications/initialized.
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"create_campaign","arguments":{"url":"https://example.com","objective":"Aumentar registros","locale":"es"}}}' | node dist/server.jsThe create_campaign result includes MCP text content and the same campaign in structuredContent. Invalid arguments return isError: true with structured validation issues. See service-card.json for discovery metadata.
Local development
Node.js 22.6 or newer is required.
npm ci
npm run test:alltest:all type-checks both the library and Vercel handlers, runs the test suite, and builds the distributable package.
Deploy a separate Vercel project
With the Vercel CLI authenticated:
vercel link --project campaign-creator-provider
vercel deploy --prodThe tracked vercel.json explicitly builds the three serverless entrypoints. Vercel’s local .vercel/ link metadata is ignored and must never be committed.
Fixture boundary
The URL is used only as campaign context and is never requested. Identical normalized inputs produce identical output, including campaignId and generatedAt. Copy is generic fixture material, not a claim that the referenced site was analyzed.
This repository and deployment are independent. They do not register with or modify Stellar Bazaar.
License
Apache License 2.0. See LICENSE.
Available Tools
1 toolcreate_campaignB
Create a deterministic Spanish or English campaign plan, copy set, and calendar from a URL and objective.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| days | No | ||
| locale | No | es | |
| audience | No | ||
| channels | No | ||
| objective | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It mentions 'deterministic' but does not clarify whether the tool persists data, requires authentication, or has other side effects. It lacks disclosure of mutation, idempotency, or return behavior, which is a significant gap for a creation tool.
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, well-formed sentence with no filler. It front-loads the primary action and key attributes (deterministic, Spanish/English) efficiently, making it easy to parse and remember.
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 complexity of 6 parameters, no output schema, and no annotations, the description is inadequate. It does not explain the effect of optional parameters, expected outputs, or usage context, making it incomplete for reliable tool selection and invocation.
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 only implicitly explains the two required parameters (URL and objective). The optional parameters (days, locale, audience, channels) are not described at all, leaving agents without guidance on their meaning or selection. This is insufficient for a 6-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?
The description states a specific verb (Create) on a clear resource (campaign plan, copy set, and calendar) with defined inputs (URL and objective). It also mentions determinism and language options, making the tool's function unambiguous even without sibling tools to differentiate from.
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?
It implies usage when you have a URL and an objective, but it does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention optional parameters or exclusions. With no sibling tools listed, a clearer context would be beneficial.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.1.0- First observed
create_campaign
TDQS
Scored across 1 tool
Only one tool is exposed, so there is no possibility of selecting between overlapping operations. The purpose is immediately clear and unambiguous.
The sole tool uses a clean snake_case verb_noun name, create_campaign, which follows common MCP naming conventions. With a single tool, consistency is trivially maintained.
A single tool is on the thin side for a general-purpose server, but create_campaign is a substantial atomic operation that directly covers the provider's stated purpose. It is borderline rather than excessive or trivial.
The tool fully delivers the advertised campaign plan, copy set, and calendar generation in one deterministic action. Broader lifecycle operations like list, update, or delete are absent, but they appear outside the scope of a campaign creator.
Maintenance
Related MCP Connectors
Creative-intelligence MCP for campaign strategy, ad builds, QA, and reporting.
Convert files, URLs, and documents to clean, AI-ready Markdown via MCP.
Public Turaxia MCP surface for building localized draft bundles from supplier URLs.
- ConvikaOAuthcom.convika
Create, preview, publish, and measure landing pages from Claude, Codex, or any MCP client.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceMCP server that turns operator-authorized local or synthetic source records into auditable research briefs, with every finding linked to exact excerpts and hashes. Exposes a single build_research_brief tool over deterministic, no-network stdio.MIT
- AlicenseBqualityBmaintenanceMCP server for Publiar that writes LinkedIn lead magnets without fabricating facts, renders matching visuals, publishes to LinkedIn, and tracks engagement, with 19 tools over stdio.19MIT
- AlicenseAqualityAmaintenanceZero-dependency stdio bridge to Moltline Studio's fleet of 14 hosted MCP servers covering code review, time operations, data transforms, business ops, education, research, outreach and more. Free tier requires no registration; premium tools unlock with a license. Independently audited, MCPize Verified A.210MIT
- FlicenseNot gradedqualityCmaintenanceEnables deterministic bilingual website intelligence audits by URL, returning fixed English or Spanish findings without ever contacting the submitted site.-