Pincer: Your intelligent knowledge store and personalization layer for OpenClaw
You saw an interesting article on X that you wanted to read later.
Core trick
Extracts text from PDFs and images into searchable notes, then exposes them and a rolling user memory through an MCP server.
Description
You saw an interesting article on X that you wanted to read later. You go to a meetup in SF and take photos of slides from a really interesting talk. Google Keep and Apple Notes are decent but feel extremely unintelligent given the AI capabilities we have today.
Pincer takes unstructured notes, links, images and PDFs and:
1. Extracts data from non-text files (e.g. pdfs), self-organizes and makes all your notes searchable
2. Maintains a high quality user memory that updates with every new note
3. Crucially, exposes these notes and the memory through an MCP server which you can now give your OpenClaw agent, or to ChatGPT.
Pincer also serves as a neat OpenClaw interface-
i) Your openclaw agent can learn from your personality and interests proactively
ii) You can give it tasks by simply marking the note as a task and your openclaw agent running anywhere will execute.
README excerpt
# Project Memory (Hackathon MVP)
AI-powered personal project memory with:
- Web UI for capture/search/chat
- Local SQLite database (single-user, no auth)
- OpenAI enrichment + embeddings (with heuristic fallback)
- MCP stdio server for Codex/ChatGPT tool access
- OpenClaw command-tool bridge
## Why this architecture
- Fast to ship in hackathon time
- Local-first persistence (no cloud setup required)
- One shared service layer feeds web + MCP + OpenClaw
## Project structure
- `src/server.js`: web server + API + static UI hosting
- `src/memoryService.js`: save/search/context/chat/file extraction logic
- `src/openai.js`: Responses + Embeddings API wrappers
- `src/db.js`: SQLite schema + repository
- `src/tasksDb.js`: local tasks table/repository
- `mcp/server.js`: MCP stdio server exposing memory tools
- `openclaw/bridge.js`: command bridge for OpenClaw tools
- `openclaw/tools.manifest.json`: OpenClaw tool schema reference
## Quick start
1. Create `.env` from `.env.example`.
2. Set `OPENAI_API_KEY` (optional).
3. Start web app:
```bash
npm run dev
```
4. Open `http://localhost:8787`.
## MCP server (Codex/ChatGPT)
Run:
```bash
npm run start:mcp
```
Canonical tools:
- `search_notes` (BM25 ranking)
- `get_tasks`
- `obtain_consolidated_memory_file`
- `complete_task`
- `delete_note`
- `delete_project`
Example Codex MCP config snippet:
```json
{
"mcpServers": {
"project-memory": {
"command": "node",
"args": ["/absolute/path/to/Hackathon/mcp/server.js