founder-decision-agent-mcp

founder-decision-agent-mcp

Enables founders to evaluate startup ideas with evidence-calibrated reports, manage portfolios, and access evaluation history through natural language.

Category
访问服务器

README

Founder Decision Agent

Evidence-calibrated decision support for independent founders and idea-to-pre-seed teams.

Founder Decision Agent turns a natural-language idea into a strict, inspectable report: a five-level verdict, separated value and risk assessments, assumptions and unknowns, a realistic disposition plan, experiments when authorized, resource scenarios, and fundraising readiness.

It is not a startup-success predictor, investment adviser, lawyer, tax adviser, or automated fundraising service.

Beta status: the TypeScript implementation, offline contracts and fixtures are tested. Live OpenAI quality, expert blind review and 3–5 real anonymized cases remain release gates for stable v1.

中文说明

这是一个面向独立开发者、个人创业者和早期团队的创业想法决策 Agent。它不会用一个总分假装预测成功,而是区分:

  • 用户价值、可持续商业价值、VC 适配度和创始人适配度;
  • 用户提供、外部事实、确定性计算、模型推断、情景假设和未知;
  • 推进、先验证、重构、暂存、停止五种结论;
  • 主动验证、暂存观察和停止关闭三种处置方式。

默认使用用户自己的 OpenAI API Key(BYOK)。OpenAI 模型与联网搜索费用由 Key 所属账户承担,本项目不代付、不加价,也不保存 API Key。

Install

Requirements: Node.js >=22.14; Node 24 is recommended. On Node 22, constructing the built-in SQLite adapter emits an upstream experimental-feature warning.

npm install -g @sangfei/founder-decision-agent@beta
export OPENAI_API_KEY="your-key"
founder-decision evaluate "为小型代理机构做一个客户反馈 SaaS"

Until the npm beta is published, clone the repository and run:

npm ci
npm run build
node dist/cli.js evaluate "A workflow tool for small agencies"

Never put a real key in a source file, fixture, command history, issue, or commit. Prefer a shell secret manager or local environment configuration.

Quick and deep modes

Mode Default model-call cap Search cap Wall-time cap Intended use
quick 2 0 2 minutes Fast first pass; externally variable facts remain unknown
deep 8 10 15 minutes Explicit web research plus supporter, opponent and verifier passes

These are configurable safety and cost defaults, not fixed requirements:

founder-decision evaluate "..." \
  --mode deep \
  --max-model-calls 6 \
  --max-search-calls 5 \
  --max-minutes 10

Quick mode always forces searches to 0; deep mode requires a search cap of at least 1.

Actual API charges depend on the selected model, tokens and search tool use. Check the current OpenAI API pricing before running deep evaluations.

CLI

# Markdown to stdout; local history is enabled by default
founder-decision evaluate "..." --industry b2b_saas --jurisdiction "中国大陆"

# JSON and Markdown files, without local persistence
founder-decision evaluate --file idea.txt --format both --output ./reports --no-persist

# Deep research in English
founder-decision evaluate "..." --mode deep --language en --industry ai_native

# Founder profile and portfolio
founder-decision init-profile founder-profile.json
founder-decision profile save founder-profile.json
founder-decision portfolio report-a.json report-b.json

# Local data controls
founder-decision history list
founder-decision history export --output export.json
founder-decision history delete REPORT_ID --yes
founder-decision profile delete PROFILE_ID --yes

SQLite history defaults to ~/.founder-decision/data.sqlite and uses Node's built-in SQLite driver, so installation does not require a native addon build. Use --no-persist for an evaluation that must not be stored.

Platform verification for this beta covers Ubuntu on Node 22.14 and 24 in CI, plus macOS arm64 on Node 22.14 and 24 locally. Windows is not yet CI-verified; local file-permission hardening is best-effort there, so Windows users handling sensitive ideas should review directory ACLs or use --no-persist.

TypeScript SDK

import {
  FounderDecisionAgent,
  OpenAiAdapter,
  SqliteStorage
} from "@sangfei/founder-decision-agent";

const storage = new SqliteStorage("./founder-decision.sqlite");
const agent = new FounderDecisionAgent({
  model: new OpenAiAdapter(),
  storage
});

const outcome = await agent.evaluate({
  schemaVersion: "evaluation_request.v1",
  idea: "A focused workflow product for small agencies",
  mode: "quick",
  language: "en",
  industryPacks: ["b2b_saas"],
  jurisdiction: "United States",
  persist: true
});

console.log(outcome.report.verdict);
await storage.close();

The core depends on ModelAdapter and StorageAdapter ports. OpenAI and SQLite are default adapters, not domain requirements.

MCP and HTTP

founder-decision-mcp

The MCP server exposes evaluation, portfolio, history and profile tools. Sensitive profile persistence and destructive tools require an explicit confirm: true.

export FOUNDER_DECISION_SERVER_TOKEN="replace-with-a-secret"
export FOUNDER_DECISION_HOST="0.0.0.0"
founder-decision-server

Non-loopback HTTP binding refuses to start without a bearer token. See API documentation for routes and the synchronous deep-mode limitation.

To build and run the same HTTP server in Docker:

docker build -t founder-decision-agent .
docker run --rm -p 8787:8787 \
  -v founder-decision-data:/data \
  -e OPENAI_API_KEY \
  -e FOUNDER_DECISION_SERVER_TOKEN \
  founder-decision-agent

Set both environment variables in the host shell first. The Key is injected at runtime and is not stored in the image. The container runs as the unprivileged node user and keeps SQLite data in the named volume.

Expert-review records can be validated without placing private records in the repository:

founder-review-validate /private/path/to/review-records
founder-consent-validate /private/path/to/consent-records
founder-quality-review-validate \
  /private/path/to/live-quality-summary.json \
  /private/path/to/live-quality-review.json

The commands check record structure and deterministic consistency only. Consent records are pseudonymous process receipts and must never contain names, contact details, raw submissions or secrets. The quality-review command binds human factuality, repeat-stability and counterfactual judgments to the exact summary SHA-256. None of these commands claims legal compliance, expert independence or a passed stable-release gate.

Maintainers can link all private gate evidence without copying it into the repository:

founder-stable-audit \
  --consents /private/path/to/consents \
  --reviews /private/path/to/expert-reviews \
  --reports /private/path/to/frozen-reports \
  --quality-summary /private/path/to/live-quality-summary.json \
  --quality-review /private/path/to/live-quality-review.json \
  --release-evidence /private/path/to/stable-release-evidence.json

Even a clean audit only means the declared evidence is mechanically ready for a separate human release decision. Synthetic IDs, valid JSON or exit code zero do not prove real cases or approve stable v1.

After the product owner and independent review group inspect the private evidence, validate their pseudonymous final decision against the exact audit bytes:

founder-stable-decision-validate \
  /private/path/to/stable-audit.json \
  /private/path/to/stable-decision.json

This records—but cannot authenticate—the human decision. Stable publishing additionally requires a protected GitHub stable-release environment whose approved version, source commit, audit SHA-256 and decision SHA-256 exactly match the release notes.

What a report guarantees—and does not

The implementation enforces versioned JSON Schema for evaluation, founder-profile and portfolio inputs as well as report outputs, plus claim/evidence references, verdict/disposition consistency, D1–D12 coverage, scenario structure, citation allowlists for deep mode, numerical traceability fields and report validation status.

It does not prove that a cited page semantically supports every sentence, that the model made the right business judgment, or that the idea will succeed. Automated citation review is always labeled as draft review. Stable v1 requires the expert review protocol.

Privacy and data

  • API keys are read from environment variables and are not written to reports, manifests or SQLite.
  • OpenAI requests set store: false; provider data-control terms still apply.
  • Raw ideas and profiles are sensitive. Local persistence is opt-out, exportable and deletable.
  • Quick mode performs no web research. Deep mode sends the idea and relevant profile/context to the configured provider and search tool.
  • The software does not contact investors, publish content, submit forms, transfer funds or execute other external writes.

Read Security and privacy before evaluating confidential or regulated ideas.

Architecture

CLI / SDK / MCP / HTTP
          │
Explicit TypeScript workflow
          │
Versioned report + deterministic validators
          │
ModelAdapter / StorageAdapter
          │
OpenAI Responses API / SQLite (defaults)

There is no LangGraph, Mastra or CrewAI dependency. The explicit workflow makes budgets, roles, validation and failure states inspectable. Cloudflare is only a possible future adapter for lmao app, not a requirement.

Development

npm ci
npm run check
npm test
npm run test:coverage
npm run validate:fixtures
npm run build
npm run pack:dry

# No-cost plan: 3 repeated baseline runs + 2 counterfactuals by default
npm run eval:quality

# Explicit BYOK execution; the API-key owner pays provider charges
npm run eval:quality -- --mode quick --execute

# Maintainer-only live OpenAI smoke; reads the environment or ignored .env
npm run eval:live -- --mode quick

Key references:

License

Apache License 2.0. See LICENSE and NOTICE.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选