aman-mcp
Exposes identity, tools, workflows, guardrails, and evaluation as MCP tools — so any AI agent can read and write your ecosystem programmatically.
README
<div align="center">
<br>
<picture> <source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/badge/aman--mcp-MCP_server-white?style=for-the-badge&labelColor=0d1117&color=58a6ff"> <img alt="aman-mcp" src="https://img.shields.io/badge/aman--mcp-MCP_server-black?style=for-the-badge&labelColor=f6f8fa&color=24292f"> </picture>
The MCP server for the aman ecosystem.
Exposes identity, tools, workflows, guardrails, and evaluation as MCP tools — so any AI agent can read and write your ecosystem programmatically.
<br>
Setup · Tools · Architecture · Ecosystem
</div>
How It Works
┌─────────────────────────────────────────────┐
│ AI Agent / LLM │
│ (Claude, GPT, Cursor, etc.) │
└──────────────────┬──────────────────────────┘
│ MCP Protocol
┌──────────┴──────────┐
│ aman-mcp │ ← this server
│ 11 tools across │
│ 5 ecosystem layers │
└──┬──┬──┬──┬──┬─────┘
│ │ │ │ │
┌─────┘ │ │ │ └─────┐
▼ ▼ ▼ ▼ ▼
acore akit aflow arules aeval
identity tools flows guards eval
amem (memory) runs as its own MCP server — see amem.
Setup
<details> <summary><strong>Claude Code</strong></summary>
One-liner:
claude mcp add aman -- npx -y @aman_asmuei/aman-mcp
Or manually add to ~/.claude/settings.json:
{
"mcpServers": {
"aman": {
"command": "npx",
"args": ["-y", "@aman_asmuei/aman-mcp"]
}
}
}
</details>
<details> <summary><strong>Cursor</strong></summary>
Add to .cursor/mcp.json:
{
"mcpServers": {
"aman": {
"command": "npx",
"args": ["-y", "@aman_asmuei/aman-mcp"]
}
}
}
</details>
<details> <summary><strong>Windsurf</strong></summary>
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"aman": {
"command": "npx",
"args": ["-y", "@aman_asmuei/aman-mcp"]
}
}
}
</details>
<details> <summary><strong>Any other MCP client</strong></summary>
aman-mcp speaks standard Model Context Protocol over stdio:
npx @aman_asmuei/aman-mcp
</details>
Tools
Identity (acore) — ~/.acore/core.md
| Tool | Description |
|---|---|
identity_read |
Read the full core.md identity file |
identity_summary |
Get structured summary: AI name, user name, trust level, personality |
identity_update_session |
Update the Session section (resume, topics, decisions) |
Tools (akit) — ~/.akit/kit.md
| Tool | Description |
|---|---|
tools_list |
List all installed tools with status |
tools_search |
Search tool registry by query |
Workflows (aflow) — ~/.aflow/flow.md
| Tool | Description |
|---|---|
workflow_list |
List all defined workflows |
workflow_get |
Get a specific workflow's steps |
Guardrails (arules) — ~/.arules/rules.md
| Tool | Description |
|---|---|
rules_list |
List all rule categories |
rules_check |
Check if an action violates any rules |
Evaluation (aeval) — ~/.aeval/eval.md
| Tool | Description |
|---|---|
eval_status |
Get evaluation metrics (sessions, trust, trajectory) |
eval_log |
Log a session with rating and notes |
Projects (aprojects) — LRU work-thread tracker
Discrete arcs of work, LRU-positioned across 10 active slots, peer to intentions / eval / rules. Active project surfaces unconditionally in SessionStart.
Storage: ~/.aprojects/dev/plugin/projects.md (single file via MarkdownFileStorage; matches intentions pattern).
Tools:
project_add— create at #1, shift others, evict at #11project_get— read oneproject_list— filter by status / inActiveListproject_active— fast path: position #1project_load— fuzzy match, restore from off-listproject_touch— bump in-list project to #1project_save— append timestamped session noteproject_close— transition to complete / paused / abandonedproject_update— patch metadata; reciprocally updatesintentions.linkedProjectId
Lifecycle vs LRU: orthogonal axes. status is lifecycle (active/paused/complete/abandoned). inActiveList is LRU membership. LRU eviction at #11 sets inActiveList=false but keeps status=active — the project is still alive, just not in the top 10.
Bidirectional link: Setting linkedIntentionId on a project also sets linkedProjectId on the intention (and vice versa). Closing one side does NOT close the other.
Override paths root: $AMAN_PROJECTS_HOME (used by tests).
Architecture
src/
├── index.ts Entry point — server setup, transport
├── tools/ MCP tool definitions per layer
├── parsers/ Markdown file parsers
└── utils/ Shared utilities
File Locations
The server reads and writes the same files as the CLI tools:
| File | Layer |
|---|---|
~/.acore/core.md |
Identity and personality |
~/.akit/kit.md |
Tool registry |
~/.aflow/flow.md |
Workflow definitions |
~/.arules/rules.md |
Guardrail rules |
~/.aeval/eval.md |
Evaluation log |
Development
git clone https://github.com/amanasmuei/aman-mcp.git
cd aman-mcp
npm install
npm run build
npm run lint
npm test
The Ecosystem
aman
├── acore → identity → who your AI IS
├── amem → memory → what your AI KNOWS
├── akit → tools → what your AI CAN DO
├── aflow → workflows → HOW your AI works
├── arules → guardrails → what your AI WON'T do
├── aeval → evaluation → how GOOD your AI is
└── aman-mcp → MCP server → the bridge ← YOU ARE HERE
| Layer | Package | What it does |
|---|---|---|
| Identity | acore | Personality, values, relationship memory |
| Memory | amem | Automated knowledge storage (MCP) |
| Tools | akit | 15 portable AI tools (MCP + manual fallback) |
| Workflows | aflow | Reusable AI workflows |
| Guardrails | arules | Safety boundaries and permissions |
| Evaluation | aeval | Relationship tracking and session logging |
| Unified | aman | One command to set up everything |
Contributing
Contributions welcome! Open an issue or submit a PR.
License
<div align="center">
11 tools. 5 layers. One MCP server.
</div>
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.