DEV Community

Jason Jeong
Jason Jeong

Posted on

I'm a designer, not a developer. I built an MCP server for Claude Desktop with Claude Code.

I'm a product designer with 11 years of experience. This is a side project I've been building nights and weekends — and Claude Code wrote all the Python.

The problem

I manage hundreds of documents across multiple projects. PRDs, decision logs, meeting notes, research reports. Every time I started a new Claude Desktop session, I had to re-explain everything. "We decided on OAuth 2.0 last month." "The mobile app uses this API." Over and over.

Claude Desktop can read files you attach, but it can't search across your whole workspace or remember anything between sessions.

What I built

Tessera is a Python MCP server that indexes your local documents into a vector store (fastembed + LanceDB). Claude Desktop searches them automatically via MCP when you ask a question.

The key features:

  • Hybrid search — semantic + keyword search across all your docs
  • Cross-session memory — tell Claude to remember something, it persists to the next conversation
  • Auto-learn — save and index new knowledge mid-conversation
  • Knowledge graph — Mermaid diagrams showing how documents connect
  • 15 MCP tools — search, memory, workspace management, and more

How I built it with Claude Code

I'm not a developer, so the process was more like being a PM working with an engineer.

I started by describing the problem: "I want Claude Desktop to search all my local documents." Claude Code suggested fastembed for embeddings and LanceDB as the vector store. I didn't know either existed.

From there, I'd write a product spec for each feature, and Claude would implement it. Search came first. Then memory — I described the UX ("I say remember this, next session it comes back") and Claude built it with timestamped markdown files plus vector indexing.

The knowledge graph was the same pattern. I wanted to see how documents relate to each other. I described the output (Mermaid diagrams), Claude handled the topic extraction and link detection.

I made the product decisions — what tools to expose, how the CLI should feel, what the search experience should be like. Claude Code wrote the code. When something felt wrong I'd push back and we'd iterate.

Try it

Zero external dependencies. No Ollama, no Docker, no API keys.

git clone https://github.com/besslframework-stack/project-tessera
pip install -e .
tessera init
Enter fullscreen mode Exit fullscreen mode

tessera init walks you through everything.

Website: https://project-tessera.vercel.app
GitHub: https://github.com/besslframework-stack/project-tessera

Free and open source (AGPL-3.0).

Top comments (0)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.