Build your premise before any high-stakes conversation.
Premise is an MCP server that builds evidence-grounded preparation workspaces in Notion for salary discussions, contract renewals, client pitches, performance reviews, and vendor deals. It provides structured position analysis, scenario decision trees, interactive adversarial simulation with a coached AI counterparty, and post-negotiation outcome tracking.
Status: All 7 tools implemented and validated against the live Anthropic API across 3 negotiation types (salary, freelance, vendor). Mock responses captured from real API calls. 83 tests passing. Full simulation pipeline and Notion workspace creation tested end-to-end.
# Clone and install
git clone git@github.com:moonrunnerkc/premise.git
cd premise
npm install
# Set up environment
cp .env.example .env
# Edit .env with your ANTHROPIC_API_KEY
# Build and run
npm run build
npm startbash scripts/demo.shThis exercises all 7 tools using pre-recorded responses from a salary negotiation scenario.
Three MCP servers coordinate through Claude Desktop (or Claude Code) as orchestrator:
- Premise MCP (this repo): 7 tools providing negotiation intelligence. Calls the Anthropic API internally.
- Notion MCP (official
@notionhq/notion-mcp-server): Creates and manages the Notion preparation workspace. - Gmail MCP (optional): Reads email history for counterparty context.
| Tool | Purpose |
|---|---|
premise-analyze |
Parse negotiation context into structured metadata |
premise-position |
Map both sides' positions, ZOPA, leverage, risks |
premise-scenarios |
Generate decision tree of counterparty moves |
premise-sim-start |
Initialize interactive adversarial simulation |
premise-sim-round |
Process one round of simulation |
premise-sim-end |
Generate post-mortem with inner state reveal |
premise-debrief |
Post-negotiation retrospective with scenario verdicts |
{
"mcpServers": {
"premise": {
"command": "node",
"args": ["/path/to/premise/dist/index.js"],
"env": {
"ANTHROPIC_API_KEY": "sk-ant-..."
}
},
"notion": {
"command": "npx",
"args": ["-y", "@notionhq/notion-mcp-server"],
"env": {
"NOTION_TOKEN": "ntn_..."
}
}
}
}npm run build # Compile TypeScript
npm run dev # Watch mode
npm run typecheck # Type check without emitting
npm test # Run tests
bash scripts/demo.sh # Run demo with mock responsesRequires ANTHROPIC_API_KEY in .env:
# Test analysis, position, and scenarios across 3 negotiation types
npx tsx scripts/test-live-api.ts
# Test full simulation pipeline (analyze → position → sim-start → rounds → sim-end → debrief)
npx tsx scripts/test-live-simulation.tsTo capture fresh mock responses from real API calls:
PREMISE_CAPTURE_DIR=demo/mock-responses npx tsx scripts/test-live-simulation.tssrc/
├── tools/ # One file per MCP tool (7 handlers)
├── prompts/ # Versioned prompt templates
├── types/ # Zod schemas and TypeScript types
├── lib/ # Anthropic client, session codec, formatting
├── server.ts # McpServer with tool registration
└── index.ts # Entry point with stdio transport
workflow/ # Orchestrator prompt templates for Claude Desktop
demo/mock-responses/ # Pre-recorded API responses for offline demo
test/ # Unit tests (tools, lib) and integration tests
Requires NOTION_TOKEN and NOTION_PARENT_PAGE_ID in .env:
# Validate Notion API connectivity and workspace creation (15-step test)
npx tsx scripts/test-notion-integration.ts
# Full orchestrator flow: mock Premise tools + real Notion workspace
npx tsx scripts/test-orchestrator-flow.tsMIT