campaign-creator-provider

campaign-creator-provider

Creates bilingual campaign strategies, channel copy, and publishing calendars from a URL and objective via a deterministic, network-free MCP stdio server.

Category
Visit Server

README

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) output
  • Strategy, 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

HTTP API

Discovery

curl https://campaign-creator-provider.vercel.app/

Health

curl https://campaign-creator-provider.vercel.app/health

Create 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
locale "es" | "en" "es" Supported output language
days integer 7 1–30
channels array all channels One or more of x, linkedin, instagram, email
audience 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.js

The 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:all

test: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 --prod

The 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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured