Archstone

io.github.Archstone-Romania由 GitHub 账号 Archstone-Romania 发布v0.26.0更新于 Nov 4, 2026

Compile your own business capabilities from declarative YAML and serve them as MCP tools.

已验证STDIO仅桌面开发者工具AI 与机器学习

概览

AI 生成的概览

把以声明式 YAML 描述的业务能力编译成 MCP 工具,并在本地以 stdio 提供,让助手调用你自己的后端。

可以做什么
  • 从现有 OpenAPI 文档或 Postgres 目录起草清单
  • 校验并编译清单,查看模型能看到与永远看不到的内容
  • 通过 stdio 或 HTTP 把编译后的能力作为 MCP 工具提供
  • 生成可移植的 IR 产物,并嵌入到你自己的 agent 循环中
  • 用录制的样本回放真实后端以报告漂移,执行离线上线前检查,并回读执行审计记录
适用场景
当你希望 AI 助手通过用 YAML 描述的工具调用自己的业务系统,而不是手写集成代码,并且希望在协议或后端变化时重新生成工具时使用。
运行要求
通过 npx 或全局安装 npm CLI 作为本地进程运行,需要 Node 22 或更高版本。清单存放在你自己的仓库中。README 称 build 与 serve 不需要网络、账号或密钥;HTTP 服务使用令牌参数。
安装前请注意
能力可被声明为写入或不可逆,因此工具调用可能改动后端数据;README 称 effect 等级由人工确认而非推断。以 HTTP 提供服务需要令牌。演示端点和其预订工具与本地 CLI 无关,并非必需。

安装

在 SourceWeft 中

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

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Archstone — connect your business to every AI

A compiler for AI capabilities. Describe what your business can do once, in business terms. Archstone compiles it into tools an AI agent can discover and call — MCP today, other protocols as they arrive. Nobody hand-writes integration code.

Open source, Apache-2.0.

[Buy Me A Coffee]

Find what you need

I want to…Go to
See it working in 60 secondsTry it
Generate a manifest from my OpenAPI specStart from an API you already have
Install the CLI and know what each command doesInstall · Commands
Understand the model (CDL → IR → tools)How it works
Call capabilities from my own agent loopEmbed it
Know what Archstone guaranteesGuarantees
Learn the languageCDL specification · glossary
Walk through it end to endOnboarding guide
Know what is free and what is soldOpen source and commercial
ContributeContributing

Try it — 60 seconds, nothing to install

A capability compiled by Archstone is running live:

https://demo.archstone.dev/mcp
  • Claude app (web, desktop or mobile): Settings → Connectors → Add custom connector → paste the URL, then ask about a trip. Works on the Free plan.

  • Claude Code:

    bash
    claude mcp add --transport http archstone-tourism https://demo.archstone.dev/mcp

    The read-only tools need no key. The demo's booking tools do; its two public keys are listed in the showcase. To send one, add the server with the header after the name and URL (--header takes every word that follows it, so placed earlier it swallows them):

    bash
    claude mcp add --transport http archstone-tourism https://demo.archstone.dev/mcp \  --header "Authorization: Bearer <key>"

The whole integration behind it is 12 lines of business YAML — no HTTP, no JSON Schema, no MCP SDK. Everything else was generated.

Want this in front of your own systems? [email protected].

Start from an API you already have

bash
archstone init openapi.yaml --out manifest --company acme --domain catalog

init drafts a manifest from an OpenAPI document, asks you what no spec can answer, and writes nothing unless the result compiles.

[archstone init reading an OpenAPI document and writing a compiling CDL manifest]

Details: onboarding → archstone init. The spec in the recording is examples/demo/stays-openapi.yaml.


Install

bash
npm install -g @archstone/cli     # or: npx @archstone/cli <command>

Node 22+. Your manifest lives in your own repository; the CLI is a stateless compiler that needs no checkout of this one (why).

Commands

CommandWhat it does
archstone init <openapi>Draft a manifest from an OpenAPI document (or, with --source postgres --dsn-env <VAR>, from a Postgres catalog)
archstone apply <dir>Validate and compile to IR; --exposure lists what a model sees and what it never sees, and which capabilities are exposed, unlisted or not exposed (retired, unbound)
archstone build <dir>Write a portable IR artifact for embedding
archstone serve <dir>Serve MCP tools over stdio; --http --token <t> for HTTP
archstone verify <dir>Replay recorded fixtures against the live backend and report drift; --json for CI
archstone doctor <dir>Offline pre-production checklist
archstone adopt <dir>Declare a field the backend started returning (interactive)
archstone audit <log>Read back the execution audit trail

apply also warns about what an irreversible capability still lacks — here, removing its declared failures adds a warning, and restoring them clears it:

[archstone apply warning that an irreversible capability declares no failures]

Each command is covered in the onboarding guide. Working from a checkout of this repository instead? Use pnpm apply, pnpm serve, … — see contributor onboarding.


How it works

capabilities.yaml   →   *.capability.yaml   →   bindings/*.binding.yaml(what the company      (each capability:        (how a capability maps offers — the index)    business shape only)     to a real backend)
        └──────── archstone apply ────────┘        └── archstone serve ──┘             parse → validate → compile → IR          emit MCP tools → agent
  • CDL (Capability Definition Language) describes what you offer — business terms only.
  • Bindings say how each capability reaches a backend (REST or SQL). The SQL connector guide walks through a Postgres one.
  • The compiler lowers both to a target-agnostic IR; emitters turn the IR into tools.

Change the protocol and you regenerate instead of rewriting. Change the backend and the CDL does not move. A worked example: examples/manifests/booking/.

Embed it in your own agent

No MCP server process needed — load a built IR with @archstone/agent:

typescript
import { fromIR } from "@archstone/agent";
const archstone = fromIR(compiledIR);const tools = archstone.tools("anthropic"); // or "openai-chat", "openai-responses", "gemini", "json-schema"const result = await archstone.execute("tourism.search", { location: "Paris" });

A mountable Streamable-HTTP MCP handler is available at @archstone/agent/mcp. Full API: packages/agent.

Guarantees

These are ratified decisions, not implementation details — each links to its reasoning.

GuaranteeDecision
A provider field your manifest does not declare never reaches a modelADR-0008
A field a model invents never reaches your systemADR-0011
build and serve never need a network call, an account or a keyADR-0005
No feature that is free today becomes paidADR-0005
Ranking in any selection Archstone performs is not for saleADR-0006
effect (read / write / irreversible) is confirmed by a person, never inferredOnboarding

All decision records: docs/adr/.


Who is running it

ArtVinci, a custom-framing business, answers customer questions through a capability compiled by Archstone — real catalog, prices computed live by their own backend. Case study.

Why a compiler, and not an MCP server

The first MCP server is an afternoon's work. The fifth — ChatGPT, Gemini and whatever ships next, each shaped slightly differently, all on top of an API that keeps changing — is the real cost. Archstone is a compiler that, in its first release, generates an MCP server, so that maintenance does not multiply with every new protocol.

Open source and commercial

Everything needed to turn a manifest into something an agent can call — language, compiler, IR, emitters, embedded SDK and CLI — is Apache-2.0 and stays that way. What we will sell is operating it for you: hosted audit retention, managed rate limits, drift monitoring and multi-tenant hosting. See ADR-0005.


Documentation

TopicWhere
Onboarding (providers, embedders, contributors)docs/ONBOARDING.md
CDL specification (normative, 1.0, frozen)docs/cdl-specification.md
Why CDL looks the way it doesRFC-0002
Machine schemacdl.schema.json
Glossarydocs/glossary.md
Identity and principalsdocs/IDENTITY.md
Architecture decisionsdocs/adr/
A Postgres database as a backend (sql connector)docs/guides/sql-connector.md
End-to-end demo with Claudeexamples/demo/README.md
Supported versionsSUPPORT.md
Reporting a vulnerabilitySECURITY.md — never a public issue
ChangesCHANGELOG.md

Repository layout

packages/  schema/           load and shape-validate manifests (cdl.schema.json)  compiler/         semantic validation, lowering to IR  emitter-support/  shared substrate for every emitter  runtime/          registry, MCP emitter and transport, verify  agent/            embedded SDK  init/             OpenAPI → manifest drafting  cli/              the archstone commandproviders/  rest/  sql/       backend adaptersexamples/           manifests and the Claude demodocs/               spec, ADRs, RFCs, onboarding

How this project uses generative AI

Archstone is written with substantial AI assistance — Anthropic's Claude, through Claude Code — for implementation, tests and documentation. The decisions are not generated: every structural choice is an ADR, argued and ratified by an accountable person before the code, and a patch nobody can explain does not merge. Commits with generated code name the model in their co-authorship trailer. What we ask of contributors: CONTRIBUTING.md.

Contributing

CONTRIBUTING.md and the contributor onboarding. Node 22+, pnpm 11+; pnpm typecheck && pnpm test green before you open a PR.

License

Copyright 2026 NousVigil LLC. Licensed under Apache-2.0; see also NOTICE.

来源:README.md,提交 55d696f

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

6
  1. v0.26.0最新Sep 30, 2026
  2. v0.25.0Sep 25, 2026
  3. v0.24.0Sep 24, 2026
  4. v0.23.0Sep 20, 2026
  5. v0.22.1Sep 17, 2026
  6. v0.11.5Sep 16, 2026

评分

已满足适用检查项的 50%

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

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分