Memo MCP Server
by devmaster-x
README.md
# Memo MCP Server
A filesystem-backed MCP server with REST API for AI tool integration and project workflow tracking. **Zero database required.**
## Overview
This server uses your local filesystem as storage — no PostgreSQL, no Prisma, no external services. Data is stored as plain JSONL files in `E:\.mcp\` and rules are read directly from `E:\Data\*.md` markdown files.
It provides a REST API on port 5000 and an MCP stdio interface that AI tools (Claude Desktop, Cline, etc.) can connect to directly.
## Features
- **Filesystem storage** — plain JSONL files, readable in any editor
- **REST API** on port 5000 — full CRUD + keyword search on all entities
- **MCP stdio server** — AI tools call tools like `register_project`, `log_session`, `get_rules` directly
- **123 rules loaded from `E:\Data\`** — engineering standards by domain (backend, frontend, database, infra, security, testing, teamwork)
- **Project session tracking** — every Claude session logged and searchable
- **Legacy CRM** — companies, clients, memos (backward-compatible)
- **Zero external dependencies** — no database, no Docker, no cloud services
## Getting Started
### Prerequisites
- Node.js 18+
### Setup
```bash
# Install dependencies
npm install
# Build
npm run build
# Start (REST API)
node dist/index.js
```
## Usage
### REST API
```bash
# Workflow: Projects & Sessions
curl http://localhost:5000/api/projects
curl -X POST http://localhost:5000/api/projects \
-H "Content-Type: application/json" \
-d '{"name":"my-app","techStack":"React,Node"}'
curl http://localhost:5000/api/sessions?projectName=my-app
curl -X POST http://localhost:5000/api/sessions \
-H "Content-Type: application/json" \
-d '{"projectName":"my-app","issue":"fixed login bug","rootCause":"missing JWT validation","solution":"added middleware"}'
# Rules
curl http://localhost:5000/api/rules?domain=backend
curl http://localhost:5000/api/rules/domains
curl http://localhost:5000/api/rules/search?keywords=caching
# Companies — full CRUD + search
curl http://localhost:5000/api/companies
curl http://localhost:5000/api/companies/search?keywords=acme
curl -X POST http://localhost:5000/api/companies \
-H "Content-Type: application/json" \
-d '{"name":"Acme Corp","country":"US","industry":"tech"}'
# Dashboard
curl http://localhost:5000/api/ai/summary
```
### MCP (AI Tool Integration)
Run the server in MCP stdio mode:
```bash
$env:MCP_MODE="stdio"; node dist/index.js
```
#### Claude Desktop / Cline config
```json
{
"mcpServers": {
"memo-server": {
"command": "node",
"args": ["E:\\mcp-server\\dist\\index.js"],
"env": {
"MCP_MODE": "stdio"
}
}
}
}
```
#### Available MCP Tools
| Tool | Description |
|------|-------------|
| **Workflow** | |
| `register_project` | Register a new project |
| `get_project_context` | Get project info + recent logs + relevant rules |
| `log_session` | Save structured session output |
| `search_sessions` | Search past work sessions |
| `get_rules` | Query rules by domain |
| `get_dashboard` | Overview of all projects and sessions |
| **Legacy CRM** | |
| `create_company` | Create a company record |
| `search_companies` | Search companies |
| `get_company` / `delete_company` | Get / delete by ID |
| `create_client` / `search_clients` | Client CRUD |
| `get_client` / `delete_client` | Client get / delete |
| `create_memo` / `list_memos` | Memo CRUD |
| `get_memo` / `delete_memo` | Memo get / delete |
| `ai_search` / `ai_context` | Cross-table search |
| `ai_quick_note` / `ai_summary` | Quick note / dashboard |
## Data Storage
```
E:\
├── Data\development\*.md ← rules (edit to update standards)
├── Data\teamwork\*.md ← rules
├── mcp-server\ ← this repository
└── .mcp\ ← runtime data (auto-created)
├── projects\{name}\
│ ├── meta.json ← project info
│ └── sessions.jsonl ← session logs (append-only)
├── companies.jsonl ← CRM data
├── clients.jsonl
└── memos.jsonl
```
## Architecture
The server reads `E:\Data\*.md` markdown files on startup, parses every `##` section into a rule, and caches everything in memory. All writes use append-only JSONL files for O(1) write speed. No database, no ORM, no migrations.
Startup time: ~2ms.
## Environment Variables
| Variable | Default | Description |
|----------|---------|-------------|
| `PORT` | `5000` | REST API port |
| `MCP_MODE` | — | Set to `stdio` for MCP protocol mode |
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues