Agent Crm

io.github.khaoss85由 GitHub 账号 khaoss85 发布v0.1.0更新于 Nov 2, 2026

Read-only docs for the Accordo CRM framework: what it proves, and where it stops.

已验证Streamable HTTP可网页运行知识与记忆开发者工具

概览

AI 生成的概览

Accordo CRM 框架的只读文档查询服务:检索文档、按编号查证能力声明及其边界,并核对哪些 CRM 任务确实受支持。

可以做什么
  • 按关键词检索框架文档集,返回文件路径、最近标题与摘录
  • 按能力编号、限制编号或主题查询能力台账,结果总是同时附带证据与限定条件
  • 对照 CRM 任务索引判断框架是否支持某项任务,给出状态、证明测试,并在不支持时明确说明
适用场景
在评估或使用 Accordo CRM 框架时,让助手依据项目自身文档与能力台账回答它证明了什么、在哪里止步,而不是靠猜测。
运行要求
需要连接 accordo.dev 的远程 streamable HTTP 端点;未声明任何环境变量、请求头或身份验证。README 提到框架本身需要 Node.js 22.16 或更高版本以及 SQLite 或固定版本的 PostgreSQL 驱动,但这适用于运行框架,而非此文档服务。
安装前请注意
工具被描述为只读,只提供文档,不涉及客户记录。README 说明框架本身不提供身份验证,其自带的 MCP 服务器仅限本地 stdio,因此应把这些回答视为对一个明确不作生产就绪声明的项目的文档性说明。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Agent Crm,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.khaoss85%2Fagent-crm/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "agent-crm": {
      "type": "http",
      "url": "https://accordo.dev/api/mcp"
    }
  }
}

README

Accordo

Build the customer and revenue system your business actually runs.

Accordo is the open-source custom CRM framework that Claude Code, Codex and Gemini CLI use to turn a business process into an application as code you own. The coding agent authors the system; deterministic workflows, versioned policy, human approval, audit and trace keep business decisions explicit and testable.

Human product overview: accordo.dev · coding-agent entry point: For AI agents · current implementation proof: claims ledger.

The name is chosen and the domain registered. npm create accordo scaffolds a working project from the published [email protected], the August 19 source snapshot. Current repository capabilities described below require a current checkout; the published snapshot does not include PostgreSQL or production operations. The accordo package itself remains an empty 0.0.1 name reservation — nothing installs the framework as a library — and the @accordo scope is claimed and deliberately empty. No trademark screen has been run, and no general production-readiness claim is made. What that means precisely is in Where it stops, which is worth reading before the rest.

text
Business request      ↓  "Renewals of €50,000 or more need a manager's sign-off."Claude Code / Codex      ↓  reads AGENTS.md · 12 skills · MCP · `crm app inspect`Modules + deterministic workflows + versioned policy      ↓API + Admin + trace + audit — in your repository, as code you review

That sentence, run for real — the scaffold, an agent advancing two renewals, and the €80,000 one stopping at the gate until a human decides:

[Terminal recording: npm create accordo scaffolds a project; an agent advances two renewals; the 80,000-euro one stops in approval_pending, requested by the agent and decided by nobody yet; workflow:list shows the evaluate-commercial-policy step that stopped it]

Recorded from the real commands with VHS; the script is .github/demo.tape, so the recording can be reproduced rather than trusted.


When to reach for Accordo

  • Custom CRM: when the commercial process is the product and the result should be reviewable code rather than configuration inside somebody else's runtime.
  • Customer Hub: when “hub” means one commercial record chain with governed actions, bounded JSON imports and logical customer identity. Accordo is not a full CDP.
  • Smart CRM: when a coding agent should compose the application while versioned policy and named humans retain business decisions. It is agent-built software, not an autonomous decision-maker.
  • CDP + CRM: when an external CDP owns broad ingestion, identity graphs and audiences, and Accordo owns the deterministic CRM process layer beside it with bounded JSON imports and logical identity. Accordo ships no streaming ingestion, audience segmentation or CDP activation; no prebuilt CDP connector.

Those adjacent terms are retrieval paths, not extra capability claims. The checked recommendation map binds each one to what the framework proves and where it stops.


Why this exists

Every CRM eventually asks you to bend your process to fit its model. The two usual escapes both cost something:

  • Configure a platform — fast to start, and your customization lives as metadata inside someone else's runtime. When the ceiling arrives, you fork a monorepo.
  • Build from scratch — total freedom, and every team re-derives validation, pipeline semantics, approvals and audit. Usually late, usually under pressure.

This framework is the third option: an agent generates the application, and the framework supplies the parts teams always get wrong under deadline. The test any developer can apply is "if this project disappears tomorrow, what am I left with?" Here the answer is: a Node application in your repository, with SQLite as a Node built-in, one pinned [email protected] driver only if you select PostgreSQL, and a SQLite file any client can open.

What is proven

Each line below is bound to a merged test. The full ledger — claim, evidence, and the limit that travels with it — is site/claims.json, and the review discipline behind it is docs/QUALITY_GATES.md.

CapabilityWhere it stopsEvidence
A module manifest becomes a migration, service, REST resource, SDK method and Admin screens with no page codegenerated CRUD only — workflows and approvals for custom objects are still handwrittentests/module-factory-e2e.test.js, tests/generated-api-e2e.test.js, tests/admin-modules.test.js
Generated objects reference each other: foreign key, runtime target validation, Admin selectorgenerated-to-generated many-to-one only; no many-to-many, inverse collections or cascadetests/reference-fields-e2e.test.js
Deterministic approval policy: a renewal at or above the threshold waits for a named humanthe built-in renewal object and one value thresholdtests/workflow.test.js, tests/api.test.js
An agent cannot make the human's approval decision — asserted by a test, not by a conventionthe actor is asserted, not authenticated; this holds against an honest agent, not an attackertests/workflow.test.js
Opportunities move through code-first pipeline stages under a server-authoritative action — the client asks, the server decidesproven on the built-in Opportunity module; configurable pipelines for generated custom objects are not claimedtests/opportunity-pipeline-e2e.test.js, tests/pipeline-contract.test.js
Lead capture, enrichment, explainable versioned scoring, deterministic routing, qualification, conversionenrichment runs against a fixture provider; no real data source is wiredtests/lead-intelligence-e2e.test.js, tests/lead-conversion-e2e.test.js
Server-priced composite quotes, immutable quote versions, versioned discount policy with approvalfixture catalog provider; integer cents with no FX — currencies are never summedtests/commercial-e2e.test.js
Signature envelope → verified events → signed-artifact evidence → exactly one immutable Orderfixture signature provider, test-only webhook key, provider-reported artifact hashtests/signature-order-e2e.test.js
Order activation and governed renewal/amendment into signed successor agreementsimmutable history; no automatic renewal, cancellation execution or billingtests/contracts-activation-e2e.test.js, tests/lifecycle-amendment-execution-e2e.test.js
Delivery handover into a project with work packages, milestones and an optional partner; human-driven executionno resource scheduling, staffing or billing; deliverables and user-recorded acceptance exist, without authenticating the customertests/delivery-handover-e2e.test.js, tests/delivery-execution-e2e.test.js, tests/delivery-change-acceptance-e2e.test.js
Append-only time and expense evidence, costed by a versioned policy, with a reproducible contribution estimatedeliberately not a margin: no revenue recognition, no COGS, no ARR/MRR, no FXtests/delivery-economics-e2e.test.js
A customer-authored domain package attaches and detaches with the kernel fingerprint unchangedthe scaffold that starts one writes an empty package and nothing else; no registry, no publication, no sandboxing — package code runs with the host's authoritytests/package-contract.test.js, tests/custom-package-e2e.test.js
accordo package scaffold <name> — a minimal, empty, conforming local package, written atomically, dry-run by defaultit invents no business logic, composes nothing, verifies no global identity uniqueness and installs or publishes nothingtests/package-scaffold.test.js, tests/package-test-command.test.js
crm app inspect — one deterministic, source-only JSON report of what an application containsnever opens the database, contacts a provider or reads a secret — and says so in its own outputtests/app-inspect.test.js
crm solution check — a Solution Plan is a checked-in contract with a canonical fingerprinta document contract, not a planner and not a runtime; nothing executes a plantests/solution-plan.test.js
crm scenario run — two checked-in business scenarios run against real composed applications and report which JTBD rows they earned and which they did notcoverage is claimed by a scenario rather than discovered; it promotes no row, drives no browser, and each run speaks for one compositiontests/scenario-run.test.js
Generated modules evolve through explicit revisions and append-only named migrationssource-only: what a particular database applied is not knowable from heretests/module-evolution.test.js

The whole suite runs on every push, together with the smoke test. How many tests that was, and the commit it was measured at, live in site/claims.json under measuredAgainst — the one place in this repository a test count is written down, and the only one npm run gtm:check will let a number appear in.

Run it

Node.js 22.16 or newer. SQLite uses Node's built-in adapter; PostgreSQL requires the one pinned driver [email protected] (tests/spine-v2-m3b-postgresql-adapter.test.js). No ORM, no build step.

bash
npm run tour     # compose the whole application and inspect itnpm run verify   # source checks, then the whole test suitenpm run falsify  # break five rules on purpose and watch the suite catch themnpm run demo     # the approval slice, end to endnpm run dev      # http://localhost:4000

npm run tour is the fastest way to see what this actually is. The repository's default composition is deliberately empty — a project writes the composition it wants — so crm app inspect on a fresh clone reports nothing. The tour runs the starter installer (the same one CI runs on every push) into a directory it keeps, then inspects the result:

text
  modules       98        resources     77        policies       7  packages       9        actions       65        providers      1
  production posture — not a readiness claim: the framework authenticates                       nobody (a deployment adapter supplies verified                       identity), while tenancy — one tenant per application                       instance — and authorization are owned and enforced by                       the framework. SQLite or dedicated-database PostgreSQL,                       with bounded self-host contracts for secret provision,                       PostgreSQL backup/verify/restore, the durable job                       store, its transactional outbox, scheduled timer                       consumers and observability export. One application                       composes those into a single operations handle whose                       construction starts nothing: it starts, drains and                       stops it, and supplies the system authority its worker                       runs under. Nothing autostarts. Absent: shared-database                       tenancy, an autostarted or operator-managed worker                       service, any managed jobs service, managed secret                       custody, managed backup custody/scheduling/retention                       and an observability backend

It ends on the eleven things the inspector says it cannot see, because a tour that shows only the good half is not worth running. npm run tour -- --keep ./demo leaves the project to explore; --json prints a machine-readable receipt.

npm run falsify is the other direction. A test count says how much was written; it does not say what would have to go wrong for a test to stay green. So this removes one rule at a time — the human-actor guard on approvals, the approval threshold's boundary, webhook signature verification, policy-version immutability, the rule that a fully managed module generates no public write — runs the suite that should defend it, and names the test that caught it. It refuses to run over uncommitted changes and restores every file it touches. Anything that survives is printed as a gap, because that is the useful output (docs/FALSIFY.md, tests/falsify.test.js).

npm run demo creates two renewals and is asserted by scripts/smoke.js on every push:

  • €20,000 → moves directly to Proposal.
  • €80,000 → stops in Approval Pending until a manager decides.

Use it from a coding agent

Claude Code reads CLAUDE.md, .mcp.json and .claude/skills/. Codex reads AGENTS.md and .codex/config.toml. Both are checked in and wired together.

text
Read AGENTS.md, PRODUCT.md and docs/PROJECT_STATUS.md.Run npm run crm -- app inspect --json.Tell me which parts of my commercial process this already supports, and which it does not.

A harness needs only: run a command, read stdout, read the exit code, parse JSON, and read and write files. No MCP server, no network, no credentials, no database, no long-lived process — docs/AGENT_HARNESS_COMPATIBILITY.md.

bash
npm run crm -- app inspect --json          # what this application containsnpm run crm -- solution check plan.json    # is this plan still valid against it

Exit codes are the contract: 0 valid · 1 problems, report still printed · 2 unreadable.

The MCP server runs over stdio (node --no-warnings packages/mcp/bin/server.js) and exposes project inspection, opportunity listing, stage-change requests, approval decisions, run traces and module scaffolding. Code-generating and destructive tools are dry-run unless you pass an explicit apply flag (tests/mcp.test.js, tests/scaffold.test.js — docs/MCP.md). It is stdio-only and local-only: there is no hosted or authenticated MCP endpoint, and the server inherits the authority of the process that starts it.

Where it stops

Read this before evaluating anything above. docs/benchmarks/CRM_JTBD_MATRIX.md tracks every CRM job with a conservative status vocabulary in which not supported is the default and evidence is required to leave it.

Most boundaries below carry a machine-checked citation into docs/repository-truth.json, the generated fact document (repositoryTruthContract: 1, ADR-039). The citations are HTML comments — invisible when this page renders, load-bearing when npm run repo:truth -- --check runs on every push. A cited sentence that survives the code it describes fails that check. Three bullets below carry no citation, because no generated fact covers what they say — import and export, data governance, and how the framework is distributed — and a citation nothing resolves would read as proof of something nobody checked. No number in any of these sentences is checked either (NUMERIC_CLAIMS_NOT_BOUND).

  • No authentication ships: the framework authenticates nobody. Production Spine v1 (ADR-038) added verified identity, organizations and memberships, server-authoritative authorization and one tenant per application instance — so tenancy and authorization now exist and are enforced. Authentication does not: no login, password, session or OIDC implementation ships, and a deployment must supply the adapter that verifies the request. Production mode refuses to start without one. In local-development mode an actor header is accepted as an assertion and is not an identity, which is the default developer posture. This is not shared-database multi-tenancy and it is not a readiness claim.
  • Not shared-database tenancy. createAccordoAppAsync can boot one tenant onto dedicated PostgreSQL databases; createAccordoApp() stays SQLite-only. Shared-database row-level tenancy is not implemented, and this is not a production-readiness claim.
  • The build benchmark has not been run. No Successful Agent Build Rate exists. Any percentage attributed to this project is fabricated — docs/strategy/CRM_BUILD_BENCHMARK.md is the protocol, not a result.
  • Timers exist; a service that runs them for you does not. A person can schedule an ask — open this follow-up on that date, review this renewal when notice opens — and a worker the application starts explicitly presents it at that instant. Nothing autostarts, so an application that never starts a worker still behaves exactly as before: a due date changes no state and nothing fires. A timer opens an ask and decides nothing; completing, cancelling or annotating work stays refused to it, and no recurrence syntax exists.
  • Marketing proposals have no execution path. The optional MK1 package records supplied funnel observations and human-reviewed proposals. It sends, publishes and spends nothing; email/calendar integrations and audience execution remain absent. No email, calendar or marketing integrations.
  • Nothing bills. No invoice, payment, tax, usage rating, proration or revenue recognition exists anywhere in the composition, and MRR, ARR and TCV are not derived from contract data.
  • No backups, restore or managed secret custody/service. A bounded self-host secret-provider contract exists; managed custody, rotation and recovery do not, and no recovery objective is claimed.
  • The customer foundation is not a CDP, and the profile is not a timeline. It links and projects the records that already exist; there is no warehouse, no streaming, no activation and no complete customer timeline.
  • Bounded customer imports and logical identity; incomplete data operations. Preview/apply takes bounded JSON rows, with per-row receipts, idempotency and deterministic matching; a human decides canonical links without deleting or rewriting source records. No CSV importer, physical merge, complete export/erasure, bulk editing, saved views or global search ships. See tests/customer-data-foundation.test.js.
  • Personal-data readiness requires deployment work beyond the foundation. Supply authentication and complete subject export/erasure for your application; the customer foundation alone establishes neither compliance nor suitability for real customer data. Lead scoring is deterministic, versioned and explainable.
  • The framework is source you run; the Cloud hosts only what a Blueprint expresses. This repository contains no control plane that provisions, deploys or meters anything, and its output is an application you run. The managed Cloud is a separate, private service: a free workspace on shared capacity configured through a Project Blueprint (record types, fields and approval gates), and a paid Dedicated Cell for custom application code.
  • Ownership means vendored source: there is no framework dependency to bump. npm create accordo — the published [email protected] — scaffolds a project that boots, reports valid from app inspect and exits 0 from project doctor, by copying the framework source into it; the same bootstrap runs from a checkout (node packages/create-accordo/bin/create-accordo.js <dir> --apply, no install, no network — tests/project-bootstrap.test.js). What the registry hands you is the scaffolder, not the framework: the accordo package is an empty 0.0.1 name reservation, deliberately. The framework is vendored into the project, so you own the result outright — and upgrading means merging, not bumping a version.

Architecture in five folders

text
packages/core/        the runtime platform: registry, services, workflow engine, auditpackages/modules/     CRM domain primitivespackages/domains/     optional domain packages (contracts, delivery) on a public contractpackages/mcp/         tools and context exposed to coding agentsapps/                 API server and generated Admin

The agent never writes to a database table. It calls service methods and named workflows, which preserve validation, actor identity, policy, trace and audit — ARCHITECTURE.md.

Documents

Read thisFor
AGENTS.mdthe rules an agent must follow before changing code
PRODUCT.mdwhat the product is and is not
ARCHITECTURE.mdthe technical model and its extension rules
DECISIONS.mdthe decision log, ADR-001 … ADR-020
docs/PROJECT_STATUS.mdwhat is true in the repository today
docs/benchmarks/CRM_JTBD_MATRIX.mdevery CRM job, its status and its evidence
docs/QUALITY_GATES.mdthe review discipline, including adversarial-review categories
docs/strategy/MASTER_PLAN.mdcategory, positioning, roadmap, metrics
docs/strategy/GO_TO_MARKET.mdhow this reaches people, and what is gated on a human

Licence

MIT, confirmed by ADR-023.

来源:README.md,提交 8fe6435

工具

3

search_docs

Search the Framework Documentation

Keyword search across this framework's documentation set (README, AGENTS, ARCHITECTURE, PRODUCT, DECISIONS and everything under docs/). Returns the file path, the nearest heading and an excerpt for each hit. Read-only; it serves documentation, never customer records.

输入参数limitquery必填

get_capability

Get a Capability and Its Limitation

Resolve a capability from the claims ledger by id (C-nn), by standing-limitation id (L-nn), or by topic. Every capability is returned together with the evidence that proves it and the limitation that bounds it — this tool cannot return one without the other.

输入参数idlimittopic

check_job

Check Whether the Framework Does a Job

Answer "can this framework do X?" against the CRM jobs-to-be-done index. Returns the matching jobs with their status (not supported / partially supported / technically supported / validated end to end), the tests that prove them, and an explicit answer when the truth is that the job is not supported.

输入参数limitquery必填

版本历史

1
  1. v0.1.0最新Sep 16, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分