@opennous/mcp 0.39.0 → 0.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/server.js +5 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opennous/mcp",
3
- "version": "0.39.0",
3
+ "version": "0.40.0",
4
4
  "description": "Nous — the Context Graph for AI Agents.",
5
5
  "license": "AGPL-3.0-only",
6
6
  "repository": {
package/src/server.js CHANGED
@@ -661,7 +661,7 @@ export function createServer() {
661
661
 
662
662
  const syncPlaybookSchema = {
663
663
  kind: z.enum(["voice", "outreach", "icp", "positioning"]).describe("Which playbook to update."),
664
- body_md: z.string().describe("The full markdown content of the playbook."),
664
+ body_md: z.string().describe("The full markdown content of the playbook. Follow the Nous document house style so every playbook reads like a clean text file: a '# Title' line, a '> ' one-paragraph lede, an optional plain 'Key: value' block, a '---' divider, then '## Title-case' sections with plain '- ' bullets. Keep it markdown, no decorative formatting."),
665
665
  file_path: z.string().optional().describe("The repo file this mirrors, e.g. 'context/icp/icp.md'. Pass it when syncing a Claude Code file so the source is recorded as the file."),
666
666
  };
667
667
  const syncPlaybookHandler = async ({ kind, body_md, file_path }) => {
@@ -986,6 +986,10 @@ export function createServer() {
986
986
  "If one file holds several sections under headers, split it by header into multiple entries. " +
987
987
  "Nous keeps a served copy of the prose and rebuilds the ICP scoring model from it; " +
988
988
  "the recorded source_path is what get_icp_model writes the learned model back into. " +
989
+ "INCLUDE EXCLUSIONS: if the ICP names who they will NOT work with (e.g. 'not cold-calling " +
990
+ "agencies', 'no pure branding/messaging shops'), keep that text IN the ICP section — Nous turns " +
991
+ "each stated exclusion into a hard disqualifier that caps those accounts below Not-ICP, even when " +
992
+ "they also match the firmographics. So a 'Not a fit' list in icp.md actively lowers their score. " +
989
993
  "IF NO ICP FILES EXIST: don't invent context in Nous. Offer to SCAFFOLD a context/ folder in their " +
990
994
  "repo — context/icp.md, positioning.md, pricing.md, market.md, competitors.md, gtm-motion.md — " +
991
995
  "filled from what the user tells you plus your own research of their website (write them with your " +