Skip to main content
Glama
CaBsCrypto

campaign-creator-provider

by CaBsCrypto

Campaign Creator Provider

Proveedor de TypeScript independiente y local-first que crea una estrategia de campaña bilingüe, textos para canales y un calendario de publicación a partir de una URL y un objetivo. Expone una API de biblioteca tipada, un contrato JSON-RPC stdio con forma de MCP y una pequeña API HTTP desplegada en Vercel.

El proveedor genera contenido de prueba determinista. No obtiene la URL enviada, no llama a servicios externos, no publica contenido, no persiste entradas ni interactúa con Stellar Bazaar.

Características

  • Salida en español (es, predeterminado) e inglés (en)

  • Estrategia, textos para canales y un calendario configurable de 1 a 30 días

  • Canales de X, LinkedIn, Instagram y correo electrónico

  • Definición de herramienta JSON Schema y errores de validación estructurados

  • Puntos de entrada HTTP, TypeScript y stdio con forma de MCP sobre un único generador

  • Generación determinista sin red

  • Licencia Apache-2.0

Related MCP server: moltline-mcp

API HTTP

Descubrimiento

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

Estado

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

Crear una campaña

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"]}'

Los campos obligatorios son url (una URL HTTP/HTTPS absoluta) y objective. Los campos opcionales son:

Campo

Tipo

Valor predeterminado

Restricciones

locale

"es" | "en"

"es"

Idioma de salida admitido

days

entero

7

1–30

channels

array

todos los canales

Uno o más de x, linkedin, instagram, email

audience

cadena

contenido de prueba localizado

No vacía

Las solicitudes correctas devuelven el objeto de campaña directamente con HTTP 200. Las entradas no válidas devuelven HTTP 400 y un objeto de error JSON estable con los problemas de validación. Las rutas admiten CORS y no almacenan en caché las respuestas.

API de TypeScript

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"]
});

El CampaignPlan devuelto contiene strategy, copy, calendar, contexto de origen y metadatos del contenido de prueba.

Contrato stdio con forma de MCP

El servidor compilado acepta un objeto JSON-RPC 2.0 por línea en stdin y escribe una respuesta por línea en stdout. Implementa initialize, tools/list, tools/call y 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

El resultado de create_campaign incluye contenido de texto MCP y la misma campaña en structuredContent. Los argumentos no válidos devuelven isError: true con problemas de validación estructurados. Consulta service-card.json para conocer los metadatos de descubrimiento.

Desarrollo local

Se requiere Node.js 22.6 o posterior.

npm ci
npm run test:all

test:all comprueba los tipos tanto de la biblioteca como de los manejadores de Vercel, ejecuta la suite de pruebas y compila el paquete distribuible.

Desplegar un proyecto de Vercel separado

Con la CLI de Vercel autenticada:

vercel link --project campaign-creator-provider
vercel deploy --prod

El vercel.json versionado compila explícitamente los tres puntos de entrada serverless. Los metadatos de enlace locales .vercel/ de Vercel se ignoran y nunca deben confirmarse en el repositorio.

Límite del contenido de prueba

La URL se usa únicamente como contexto de campaña y nunca se solicita. Las entradas normalizadas idénticas producen una salida idéntica, incluidos campaignId y generatedAt. El texto es material de prueba genérico, no una afirmación de que el sitio referenciado fue analizado.

Este repositorio y el despliegue son independientes. No se registran en Stellar Bazaar ni lo modifican.

Licencia

Apache License 2.0. Véase LICENSE.

Available Tools

1 tool
create_campaignB

Create a deterministic Spanish or English campaign plan, copy set, and calendar from a URL and objective.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
daysNo
localeNoes
audienceNo
channelsNo
objectiveYes

TDQS

B3.3/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 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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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. 1 tool updatev0.1.0
    • First observedcreate_campaign

TDQS

A3.6/5.0

Scored across 1 tool

Disambiguation5/5

Only one tool is exposed, so there is no possibility of selecting between overlapping operations. The purpose is immediately clear and unambiguous.

Naming Consistency5/5

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.

Tool Count3/5

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.

Completeness4/5

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

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    MCP 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.
    19
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Zero-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.
    10
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables generating deterministic, cited research findings from caller-supplied source metadata and excerpts via a local-fixture MCP tool, supporting English and Spanish.
    Apache 2.0