positioning-bridge
Positioning Bridge
Positioning Bridge проверяет, есть ли в черновике правильно сформулированные сообщения компании для её аудитории, канала, этапа воронки, локали и кампании.
Компания хранит один версионированный пакет позиционирования. Авторы используют одну и ту же политику через CLI, MCP-хост или TypeScript-библиотеку. Каждый результат указывает точную опору, утверждение, правило, кампанию, конкурента и источник, которые привели к этому результату.
Что проверяет
Решение компании | Результат для черновика |
отсутствует обязательная опора позиционирования |
|
черновик противоречит явному правилу политики |
|
утверждение запрещено, не одобрено, не прошло квалификацию или истекло |
|
сравнение с указанным конкурентом не имеет зарегистрированного утверждения |
|
после срабатывания триггера отсутствует обязательное раскрытие |
|
черновик нарушает нарратив активной кампании |
|
необязательное сообщение может сделать позицию яснее |
|
Результат — pass, needs_revision или blocked. Совокупной оценки бренда нет. Детерминированные и модельно-ассистированные факты остаются раздельно помеченными.
Related MCP server: content-qa-mcp
Запуск примера
Требования: Node.js 22 или новее и npm.
git clone https://github.com/shashank-sn/positioning-bridge.git
cd positioning-bridge
npm ci
npm run build
node dist/cli/main.js validate --pack examples/acme/positioning.yamlПроверьте вымышленный черновик, который должен проходить:
node dist/cli/main.js check \
--pack examples/acme/positioning.yaml \
--content examples/acme/drafts/pass.md \
--audience platform-leader \
--channel landing-page \
--funnel-stage consideration \
--campaign campaign.launchПроверьте через stdin и сохраните структурированный результат:
printf '%s\n' 'Acme trains on customer content.' | node dist/cli/main.js check \
--pack examples/acme/positioning.yaml \
--stdin \
--audience platform-leader \
--channel landing-page \
--funnel-stage consideration \
--jsonКоманда завершается с кодом 0 для pass, 1 для needs_revision или blocked и 2 при ошибке использования или конфигурации. Если локаль не указана, используется defaultLocale из пакета.
Создайте стартовый пакет, не перезаписывая существующий файл:
node dist/cli/main.js init --output company-positioning.yamlПроект открыт на GitHub под лицензией MIT. positioning-bridge ещё не опубликован в npm, поэтому для версии 0.1.0 используйте описанный выше способ через клонирование.
Подключение MCP-хоста
Соберите репозиторий, затем укажите хосту абсолютные пути к пакету и исполняемому файлу:
{
"mcpServers": {
"positioning-bridge": {
"command": "node",
"args": [
"/absolute/path/to/positioning-bridge/dist/cli/main.js",
"serve",
"--pack",
"/absolute/path/to/company-positioning.yaml"
]
}
}
}Сервер при запуске загружает один пакет и предоставляет четыре инструмента только для чтения:
get_positioning_contextвозвращает применимую политику и структурированные причины;create_content_briefвозвращает политику в отношении обязательных, одобренных, запрещённых и подлежащих раскрытию материалов;check_contentвозвращает решение, покрытие, возможности и типизированные результаты;explain_positioning_itemпринимает идентификатор политики или сгенерированного результата, а также контекст.
После изменения пакета перезапустите процесс. Руководство по MCP содержит входные и выходные данные инструментов, команду Codex и последовательность действий автора.
Пакет позиционирования
Пакет содержит:
катологи контекст для аудиторий, канавов, етапов воронки и локалей;
источники доказателльств со статободобрения, видимости, провереи и срока действия;
опоры и утвердения — требующие проверия или запреённые;
указанные конкуренты and "enforcement" для незарегистрированных сравнений — or "контроль нерегистрированных сравнений";
нарратив компаний, желаемых действий, всеми запуска; obligations, exceptions;
паравилa противоречий, раскрытия, языка и кампаний.
Идентификатор stable and every reference is properly validated pre-launch. Смотрите [справочный guide] (docs/positioning-pack.md), generation [JSON Schema] (...), and complete fictional [Acme pack] (examples/acme/po... .yaml).
Граница достоверности и безопаснисти
Подтверждённые противоворы из явных детерминистических правил. Необязательный SemanticReviewer може сообщать о перефразах и контекстуальных конгликтs. Эти обructuring remain under, model_assist`, по умолчанию направляются на ручную верify and can not independently block.
By default, at execution:
does not make network обрас causes;
does not hide submitted blacklist;
only loads the specified mode path;
limits pack and content size;
does not expose mutation management policy or publication tools.
Positioning Bridge validates provided policies and states of evidence. It does not proven external fact, legal approval, customer permission, or readiness of source подлинности.
Work with Hold Your Voice
Positioning Bridge and Hold Your Voice remain independent tests. Positioning Bridge checks message policy and evidence. HYV checks voice and language patterns. neither package is not interopermatting with the other, and neither result is acceptance for publication.
TypeScript library
import { PositioningService, loadPack } from "positioning-bridge";
const pack = await loadPack("./company-positioning.yaml");
const service = new PositioningService(pack);
const result = await service.checkContent({
content: "draft text",
context: {
audienceId: "primary-buyer",
channelId: "website",
funnelStageId: "consideration",
localeId: "en",
},
});MCP construction is exported from positioning-bridge/mcp. JSON Schema is exported from positioning-bridge/schema.
Development and verification
npm ci
npm run verify
npm run smoke:packagenpm run verify checks formatting, statement, typ, multivariate etc. npm run smoke:pack automatically packs the exact version, checks the its allowlist and Markdown links, installs it in a clean temporary project, then checks its binary, library export, example validability, and hands agreement MCP.
The component boundaries are listed described in architected.md and "метаеп exploded by file" architecture.policy); release operations in operations.md.
Project status
0.1.0 — a local-first foundation. It does not include hosted control plane, managed API to web UI, complex satellite not. Web UI, remote provider CMS crawler, editing pipeline, public workflows or performance. This all described by ADR.
Please CONTRIBUTING.md before contribution. Use GitHub Issues for realistic bugs be simple, bound project call to us, GitHub Discussions for installation questions and design questions. Use the private vulnerability reporting pathway in SECURITY.md.
License is MIT, etc.
This server cannot be deployed
Maintenance
Related MCP Connectors
Evidence-readiness MCP server: validate, audit, and score briefs, memos, and evidence packs.
Public read-only MCP for products, frameworks, guides, methodology, and blog metadata.
- OdiseoOAuthhelp.odiseo
SEO layer for agents: research, content, QA, approvals and publishing via MCP OAuth.
Brivvy MCP (OAuth): on-brand AI content, voice rules, templates, glossary.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA Model Context Protocol server that exposes a versioned brand package (tokens, rules, recipes, media rights, and audit gates) as resources, tools, and prompts for AI agents. It enables agents to plan and audit on-brand UI, image, motion, and video outputs while remaining read-only and credential-free.MIT
- AlicenseAqualityCmaintenanceEnables editorial content QA over the Model Context Protocol with four local tools that analyze readability, AI-sounding language, SEO on-page factors, and produce full reports where every finding includes an actionable fix.41MIT
- AlicenseAqualityCmaintenanceProvides content guard checks as MCP tools, enabling an assistant to verify keyword coverage, translation drift, internal links, regulated claims, and sitemap lastmod while writing pages.6MIT
- AlicenseNot gradedqualityAmaintenanceEnables agents to evaluate MCP servers and verify attestations from inside an editor, using read-only, allowlisted tools that never send credentials.GPL 3.0