faf-trinity
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@faf-trinityremember that the production endpoint is https://api.faf.one"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-context-card
An MCP server that makes a project's context, memory, and identity discoverable to any MCP client — and renders them as one card you can read.
context — the project's
AGENTS.md, served whole or one section at a timememory — facts that persist across sessions, in a file
identity — what this server is, from its own agent card
Discovery goes through two surfaces already in the ecosystem: the Server Card
_meta block and ai-catalog.json sibling entries.
What it is / what it is not
It is — an MCP server for a project's AGENTS.md, memory, and identity: nine
tools, two discovery surfaces (Server Card _meta, ai-catalog.json), and a
rendered card. Small, MIT — read it, npx it, or fork it.
It is not
a framework or a platform — three concerns, nothing more
a file, shell, or search tool — it never touches your files or runs commands
tied to FAF — context is plain Markdown (
AGENTS.md); the memory and identity formats are swappable examples
It composes:
serve · discover · render — this server
author · keep true —
agents-md-facts(theauthor_agents_mdtool wraps it)files · shell · git —
server-filesystem,server-git/ github‑mcp‑server, your test runner's MCP
A piece, not the toolbox.
Related MCP server: research-memory-mcp
The card

The same three sources render as one self‑contained HTML page — identity,
AGENTS.md, memory, and how a machine fetches it. The view for people:
screenshot it, drop it in a PR, put it on a status page.
GET /card # live, on the HTTP transport
GET /card?theme=light&accent=%230066cc
npx mcp-context-card card # or: npm run card → docs/card.htmlLight, dark, or auto; the accent defaults to the AAIF palette and takes any hex. docs/card.html is this repo's, rendered.
Who it's for
You want… | Reach for |
an |
|
your agent to pull one |
|
a persistent notepad for your agent — survives restarts, no setup |
|
a shareable view of what your MCP server exposes to agents |
|
the two‑surface discovery pattern to copy into your own server | read |
Add it to your setup
No AGENTS.md yet?
The author_agents_md tool authors one from your repo's facts — real
build/test commands, entry points, toolchain conventions — and hands the agent
the draft. It's a thin wrapper over
agents-md-facts; to author or
keep one true outside a session:
npx agents-md-facts # author / refresh AGENTS.md
npx agents-md-facts --check # fail if missing or stale (CI, pre-commit)A project.faf is the next rung — a structured source that refreshes the file.
Short model: agents-md-facts/docs/BETTER-BEST.md.
See the card
One command, no host, no config:
npx mcp-context-card card > card.htmlWire it into a host
Claude Desktop, Cursor, or any stdio host:
{
"mcpServers": {
"context-card": {
"command": "npx",
"args": ["-y", "mcp-context-card"],
"env": { "MCP_CONTEXT_CARD_ROOT": "/abs/path/to/your/project" }
}
}
}MCP_CONTEXT_CARD_ROOT points at the directory with your AGENTS.md. The
memory tools work with or without it; identity is optional. Over HTTP instead:
PORT=8080 npx mcp-context-card. Full wiring is in
docs/WIRING.md; transport choice in
docs/TRANSPORT.md.
Why
AGENTS.md is the de-facto standard for telling a coding agent how to work in a
repo. But a client has to know the file exists and read the whole thing into
context. There is no standard way for a server to say "here is my AGENTS.md,
here is what I remember, here is who I am" — so every server that wants this
grows its own shape.
mcp-context-card answers all three through mechanisms that already exist:
Server Card
_meta(SEP‑2127) — one reverse‑DNS‑namespaced key per concern, readable in‑band as an MCP resource and atGET /.well-known/mcp/server-card.ai-catalog.json— sibling entries keyed by media type, atGET /.well-known/ai-catalog.json.
The context concern points at AGENTS.md (text/markdown). Memory and identity
have no de‑facto standard yet, so the examples here use
.fafm and
.fafa — one instantiation each,
swap in your own.
The wire‑level detail is in docs/MECHANISMS.md.
Tools
Tool | What it's for |
| draft an |
| return the project's |
| the headings, so a client pulls one section instead of the whole file |
| write a fact that will still be there next session |
| read a fact stored in a previous session |
| drop or correct a stale fact |
| this server's name, vendor, version, status, license |
| what this project publishes, in what media types, via which surface |
| the whole card as one self‑contained HTML page (also |
The demo
npm run demo runs every tool over both transports:
Context — list the
AGENTS.mdsections, then pull just## Test.Memory —
remember()a fact, stop the server process, start a new one,recall()the same fact. Only the file carries it across.Identity —
whoami(), and the Server Card_metablock read back from a live client.Discovery —
list_context_sources(), then the same server over stateless HTTP with its.well-knownroutes andGET /card.
88 tests on Linux, macOS, and Windows, coverage‑gated in CI. One spawns a real child process and checks a remembered fact survives the restart; another checks the stdio and HTTP tool surfaces match.
Layout
Path | What |
| the nine tools + the Server Card resource |
| reads and section‑splits |
|
|
| a minimal dependency‑free Markdown → HTML renderer |
| the card — identity + |
| file‑backed |
|
|
| writes |
| the stateless Streamable HTTP app (Hono) |
| the entry point — |
Related
mcp-project-context— an earlier take on the context concern alonetext/markdown(AGENTS.md) ·application/vnd.fafm+yaml·application/vnd.fafa+yaml
License
MIT.
This repo dogfoods what it serves — its AGENTS.md is a real, current file, and
it ships a project.faf as the structured source behind it.
This server cannot be installed
Maintenance
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Persistent project context — Rust-native MCP server. IANA-registered .faf format.
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
Persistent memory for AI agents — log and recall conversation context over MCP.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn agent-capable MCP server with terminal access, filesystem control, and persistent memory. It includes sandboxing, access control, activity logging, and a file-backed memory store for context across conversations.MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server that provides controlled read/write tools for managing local-first research memory in an Obsidian vault, enabling AI agents to maintain project context across sessions.111MIT
- AlicenseAqualityBmaintenanceMCP server for managing project memory in AGENTS.md. Allows agents to record and remove durable facts using save/forget tools.21051MIT
- AlicenseNot gradedqualityBmaintenanceProvides a file-first personal memory layer for AI agents, enabling them to store and retrieve memories as markdown files with an SQLite index. The MCP server offers read-only search by default, with optional write tools for manual memory addition and conflict resolution.11MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Wolfe-Jam/mcp-context-card'
If you have feedback or need assistance with the MCP directory API, please join our Discord server