
Axiom Meridian
io.github.abeljumanuel由 GitHub 账号 abeljumanuel 发布v0.1.0更新于 Oct 24, 2026
Serves only the team rules and lessons learned relevant to a project. Code drifts. Meridian doesn't.
发布方自己的服务:Axiom
概览
一个本地 MCP 服务器,将团队的编码规则与经验教训以 Markdown 建索引,只向助手提供与当前项目或任务相关的那部分内容。
- 可以做什么
- 按作用域查询规则与经验教训,可按类别、严重程度和标签过滤,支持可选的语义排序,无嵌入时回退到 SQL 过滤。依据适用规则审计拉取请求和规划中的功能。从会议记录中提取候选规则与经验教训,生成待审提案。创建、审阅并批准提案,在单个事务中写入 Markdown 文件与 SQLite 索引。生成项目技能文件,并查看上下文、时间线和访问日志。
- 适用场景
- 适合 AI 编码助手反复读取冗长规范和经验教训文件的团队,希望在变更落地前经过人工审批,并按项目和框架限定知识范围。最适合在开发者机器上的 Claude Code 等支持 MCP 的客户端使用。
- 运行要求
- 本地 Python 3.11+ 包,通过 uv 安装(uvx 或 uv tool install)。可选环境变量 KNOWLEDGE_BASE_PATH 指定 Markdown 与 SQLite 知识库位置,未设置时使用操作系统特定的用户数据目录。环境变量 MERIDIAN_ACCESS_LEVEL 设为 read、analyze(默认)或 write。语义搜索需可选 RAG 组件(约 900 MB 机器学习库),否则仅用 SQL 过滤。
安装
在 SourceWeft 中
- 打开 控制台中的 Axiom Meridian,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
Index
- Project fact sheet
- General product description
- System architecture
- Data model
- API specification
- User stories
- Work tickets
- Pull requests
0. Project fact sheet
0.1. Your full name:
Juan Manuel Rojas González ([email protected])
0.2. Project name:
Axiom Meridian — "Code drifts. Meridian doesn't."
0.3. Brief project description:
An MCP (Model Context Protocol) server that centralizes a team's institutional technical knowledge — coding rules and lessons learned — and delivers only the slice relevant to the current task, instead of forcing AI agents to read entire knowledge-base files on every session.
0.4. Project URL:
Not applicable (MCP) — Axiom Meridian is an MCP server for local use (stdio) or, optionally, HTTP/SSE bound to 127.0.0.1; there is no publicly reachable deployment URL.
0.5. Repository URL or compressed file
https://github.com/abeljumanuel/axiom-meridian-project
1. General product description
1.1. Objective:
Teams that work with AI coding agents accumulate institutional knowledge as long Markdown files: coding standards per language/framework, architecture decisions, and "lessons learned" from production incidents. This works while the files are small, but as they grow it creates three problems: every agent session re-reads the whole file even when only two or three rules apply to the current task (context and latency cost), relevance is all-or-nothing (there's no notion of "this project uses Quarkus, that one uses Spring Boot"), and there is no governance (anyone can edit the file directly, with no review or traceability).
Axiom Meridian solves this by indexing rules (RN-*) and lessons (LL-*) in an atomic block format, resolving a scope hierarchy (project → framework → language → global) to decide what applies to a given project, and serving only that filtered subset — optionally ranked by semantic relevance — through typed MCP tools. The Markdown files remain the single source of truth, and every change goes through explicit human approval.
More detail in Project Charter and Product Description.
1.2. Key features and functionality:
- Scoped knowledge queries —
query_rules/query_lessonsresolve a project's effective scope chain, apply category/severity/tag filters, and return only active, matching entries. - Atomic, traceable format — every rule or lesson is a self-contained Markdown block (
## RN-JAVA-011,## LL-PSP-003) with structured fields, deterministically parseable and indexable. - Governed lifecycle — extraction and legacy-file migration never write directly to active knowledge; everything lands first in
pending_proposals, andapprove_proposalpromotes the change to the Markdown file and the SQLite index in a single transaction. - PR and feature auditing —
audit_prsurfaces the relevant rules/lessons before a merge;check_feature_against_rulesdoes the same during the planning phase. - Meeting transcript extraction —
extract_rules_from_transcript/extract_lessons_from_transcriptturn meeting notes into candidate proposals. - Hybrid retrieval (SQL + RAG) — when embeddings exist, queries rank by semantic similarity (
BAAI/bge-small-en-v1.5via ChromaDB); when they don't, it transparently falls back to SQL filtering, without changing the tool's signature. - Access control and audit log — every tool is gated by an access level (
read/analyze/write); every invocation is recorded, excluding sensitive parameters. - Ecosystem skill generation —
generate_project_skillsemits.claude/skills/files following theagentskills.ioconvention.
Full list in Product Description § Core Capabilities.
1.3. Design and user experience:
By design, Axiom Meridian has no graphical interface of its own: it is an MCP server consumed programmatically by AI agents (Claude Code, VSCode, OpenCode, Kimi CLI) through tool calls, not by a human user navigating screens. The current "user experience" is that of an agent invoking a tool and receiving a scope-filtered JSON response.
A read-only visual panel for a human (knowledge curator or platform admin) to inspect the server's state without writing scripts — server health, scope hierarchy, rule/lesson counts, pending proposals, an embedding projector — is under construction: it is a component explicitly contemplated in the backlog, not part of the current baseline. See US-H1 — Inspect Meridian's status and contents visually (Epic H) and its associated ticket, TICKET-017.
1.4. Installation instructions:
Meridian is a Python 3.11+ package (axiom-meridian) installed with uv, which fetches a compatible Python on its own. Being a standard MCP server, it can be consumed by any protocol-compatible IDE or CLI (Claude Code, VSCode, Cursor, OpenCode, Kimi CLI), but it is optimized for and tested primarily against Claude Code.
macOS / Linux — one-line install:
Any OS, Windows included (PowerShell or a terminal with uv installed):
On Windows, install uv first with powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"; no installer script is needed there, since meridian setup is plain Python.
install.sh is a thin wrapper around those same commands: it installs uv if missing (after asking), runs uv tool install, and hands off to meridian setup, which asks before configuring each detected client (Claude Code, VSCode, Cursor, OpenCode, Kimi CLI), never overwrites existing knowledge-base files or registrations that point at a different install, and finishes with meridian doctor. Run from a clone (bash scripts/install.sh), it installs that checkout in editable mode.
Claude Code plugin (server + usage skill in one unit): /plugin install meridian --marketplace abeljumanuel/axiom-meridian-project.
Semantic search is optional: install axiom-meridian[rag] (~900 MB of ML libraries) to rank free-text queries by meaning; without it, queries fall back to SQL filtering and generate_embeddings returns a RAG_NOT_INSTALLED error.
KNOWLEDGE_BASE_PATH is optional — Meridian auto-creates the knowledge base directory if it isn't set (~/.local/share/meridian on Linux, ~/Library/Application Support/meridian on macOS, %APPDATA%/meridian on Windows). Per-client configuration, upgrading, installing from source, and troubleshooting: docs/installation.md.
2. System Architecture
2.1. Architecture diagram:
Meridian follows a layered architecture: MCP tool registration → domain tool layer → parsers/RAG/persistence, with a single write choke point (write_block) that keeps the SQLite index in sync with the Markdown files. This pattern was chosen because the project's non-negotiable requirement is that Markdown remains the source of truth while SQLite acts only as an index and state layer; a "database as source of truth" architecture would have been simpler to implement, but would have broken the human reviewability (diff-friendly, Git-versionable) that is the project's whole reason for being. The trade-off accepted in exchange is an extra freshness-validation layer (indexed_files, mtime + sha256) to avoid serving out-of-sync content.
(Diagram inferred directly from the reference implementation's source code — src/meridian/ — and previously documented in docs/03-system-architecture.md.)
2.2. Description of main components:
2.3. High-level project description and file structure
Note: this repository (
axiom-meridian-project) is the capstone's documentation deliverable and hostsdocs/,openspec/, andprompts/. The source-code structure shown below corresponds to the server's reference implementation (working checkoutaxiom-meridian/), which evolves in parallel to this documentation and is what the already-delivered tickets (section 6) build on.
In this repository (axiom-meridian-project), the structure reflects its documentation-first nature:
2.4. Infrastructure and deployment
Meridian requires no cloud infrastructure: it is a local process invoked by the MCP client (stdio) or, optionally, an HTTP/SSE server bound exclusively to 127.0.0.1 (meridian serve <port>), never 0.0.0.0. In HTTP mode a random session token is emitted at startup, required as Authorization: Bearer <token> on every request; the token is never persisted and rotates on every restart.
There is no documented deployment/CI pipeline in this repository yet — the current "deployment" is the local install via scripts/install.sh described in section 1.4. Hardening a networked deployment (multi-client, TLS, rate limiting) is identified as future work in TICKET-015.
2.5. Security
- A higher level includes all lower levels.
- An insufficient level returns a structured
ACCESS_DENIEDerror naming the required level. - Every call — granted or denied — is recorded in
access_log, excluding sensitive parameters (pr_diff,feedback_text,text,proposed_text,new_text). <private>tags are stripped from all inbound text before persistence, on every write path.- The HTTP/SSE transport is bound to
127.0.0.1by design and requires a bearer token (see 2.4).
2.6. Tests
The reference implementation's test suite follows a four-level pyramid, run with pytest / pytest-asyncio:
- Unit (
tests/unit/) — parsers (atomic_parser,legacy_parser),scope_resolver,id_generator,migrations,security,serializers,connection, among others. Validate each module in isolation. - Integration (
tests/integration/) — full end-to-end flows: index + query, proposal lifecycle, access control, RAG queries, skill generation, external file edits. - Contract (
tests/contract/) — verifies that the exposed MCP tool signatures don't change in a backwards-incompatible way. - Benchmarks (
tests/benchmarks/) — performance regression guards; excluded from the default run (addopts = "-m 'not benchmark'"inpyproject.toml) and invoked explicitly with-m benchmark.
Every relevant bug fix (see ADR-003 through ADR-006 in System Architecture) added its own regression test before closing, and the delivered tickets (section 6) reference the specific test file covering their acceptance criteria.
3. Data Model
3.1. Data model diagram:
(ERD verified against the real schema in src/meridian/db/schema.sql of the reference implementation — 17 tables, 1:1 match.)
3.2. Description of main entities:
Extended detail, including the atomic block format and the ID-generation strategy, in docs/04-data-model.md.
4. API Specification
Meridian does not expose a conventional REST API: it exposes a set of typed MCP tools (25+ in the reference implementation — query_rules, audit_pr, create_pending_proposal, etc.), invoked through the MCP protocol (stdio or HTTP/SSE) rather than HTTP routes with verbs. Forcing an OpenAPI 3 specification onto this interface would be misleading: OpenAPI models resources and HTTP verbs, whereas an MCP tool is a function with an input/output schema (JSON Schema) and a "an action a model can invoke" semantics — closer to a function signature than to an endpoint.
As a formal alternative, this project will adopt a Semantic Tool Definition via Declarative Schema, or Model-Oriented Documentation: one document per tool specifying, in JSON Schema, its input parameters, the required access level (read/analyze/write), the response shape, and invocation examples — the same kind of contract already validated by tests/contract/test_mcp_tool_signatures.py in the reference implementation, but exposed as product documentation rather than only as a test. This convention has been identified but is not yet implemented in the project's documentation; it will be addressed in a later delivery, documenting at minimum the three most-used tools (query_rules, audit_pr, create_pending_proposal/approve_proposal).
5. User Stories
Full catalog (8 epics, As a / I want / so that format, MoSCoW priority) in docs/05-user-stories.md. Below, 3 representative ones:
User Story 1 — US-A1 — Query relevant rules for my project (Epic A, priority Must, tool query_rules).
User Story 2 — US-B3 — Review and approve a proposal (Epic B, priority Must, tools list_pending_proposals / approve_proposal / reject_proposal).
User Story 3 — US-C1 — Audit a pull request against known rules (Epic C, priority Must, tool audit_pr).
6. Work Tickets
Full catalog (delivered + backlog, traced to OpenSpec) in docs/06-work-tickets.md. Below, one backend, one database, and one frontend ticket:
Ticket 1 (Backend) — TICKET-001 — MCP server scaffold and core tool surface. Stands up the FastMCP server, the server.py security pattern, the SQLite schema, and the initial tool set. Status: Done.
Ticket 2 (Database) — TICKET-008 — Indexed read path with per-file freshness (ADR-005). Adds indexed_files, rule_tags, lesson_tags; introduces write_block as the single write choke point; moves detail="full" reads to SQLite validated by per-file freshness. Status: Done.
Ticket 3 (Frontend) — TICKET-017 — Read-only observability dashboard, corresponding to US-H1. A read-only web dashboard (server health, scope hierarchy, pending proposals, embedding projector) as a separate local process, reusing knowledge_consumption as a library. Status: Backlog — this is the only frontend component contemplated in the project; its formal specification lives in openspec/changes/add-observability-dashboard/.
7. Pull Requests
Only Pull Requests that close a complete, verifiable deliverable are referenced here. The first valid deliverable is the baseline technical documentation (project fact sheet, description, architecture, data model, user stories, work tickets) — this very README and
docs/.
Pull Request 1 — #1 — Removing duplicates (merged). Cleanup of duplicated content in the baseline documentation prior to this delivery.
Pull Request 2 — Pending. Will be referenced once a PR contains the full first delivery: "Technical documentation: project fact sheet, description, architecture, data model, user stories, work tickets."
Pull Request 3 — Pending.
License
Axiom Meridian is licensed under the Apache License, Version 2.0. See NOTICE for attribution.
The names "Axiom Meridian" and "Axiom JUMA" and their marks are not licensed under the Apache License (section 6, Trademarks). Using them requires the owner's permission.
License transition: versions made available before the change to Apache 2.0 were declared under the MIT License, and copies obtained under those terms remain available under them.
Third-party: the .claude/skills/openspec-* skills are generated by OpenSpec and keep their own MIT license.
Contributions are welcome under the Apache License 2.0 with a DCO sign-off; see CONTRIBUTING.md.
来源:README.md,提交 122e5c9
工具
0版本历史
1- v0.1.0最新Oct 15, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
其他 Axiom 集成

Axiom
co.axiom官方发布者
Axiom 是一个远程 MCP 服务器,让助手列出数据集和 schema、运行 APL 查询,并使用提示词进行探索、异常和监控工作。
Axiom Lab — AI Pitch Deck & Business Video MCP
由 GitHub 账号 Axiom-lab-tech 发布
远程 MCP 服务器,可将路演 PPT、幻灯片、产品照片和简报转成经质检的商业视频,付费渲染前先免费生成方案。

AXIOM
由 GitHub 账号 dragoscv 发布
AXIOM 是面向编码代理的事务性写入闸门:在允许的仓库根目录内规划、检查、预览并原子应用文件改动,并保留可回滚日志。

OWL class axiom count, body discarded
由 GitHub 账号 sadri-dridi 发布
远程 MCP 端点,提供一批小型、基本无状态的实用检查:URL 与主机名结构、HTTP 状态、时区、JSON 合法性和简单算术。

Axiom — Advanced Math
由 GitHub 账号 tufantunc 发布
本地 MCP 服务器,借助 Giac/Xcas 与 math.js 为助手提供精确的符号与数值数学计算:求解、验证命题、绘制函数图。