Build an AI chatbot from your own content that answers with citations: FAQ, docs, coach, support.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
Inspect callable tools, capabilities, and parameters exposed to AI agents by Lens.
create_digital_twin_lensCallable MCP tool function
add_lens_knowledgeCallable MCP tool function
get_lens_statusCallable MCP tool function
Mindola turns a person's own material (writing, notes, documents, links) into a public AI page that answers questions from that material alone, with citations.
That public AI page is called a lens: one shareable link, like https://mindola.ai/me/your-name, where anyone can ask questions in chat or a live voice call. Every answer is grounded only in the owner's material and shows its sources. If the material does not cover a question, the lens says so honestly instead of guessing, and can hand the question to the real person.
This repository is the public documentation and examples for Mindola's hosted MCP server. The server is remote: there is nothing to install or run. You add one URL to your MCP client (Claude, Cursor, VS Code, Codex, ChatGPT), and your AI assistant can create and fill a lens for you in one conversation. The server itself runs inside the Mindola app, which is closed source; this repo holds the docs and example code.
Try a live lens right now, no account needed: mindola.ai/me/charles-darwin.
People publish knowledge that nobody reads. Your blog posts, documentation, course material, and notes sit in archives, and visitors are expected to dig through them. Most will not. They have one question and they want one answer.
A generic AI chatbot is not the fix. It answers from whatever it was trained on, so it confidently makes things up about you, your product, or your work. That is worse than no answer.
Mindola sits in between. It gives your material a front door: a page that answers questions from your knowledge base and nothing else, cites where each answer came from, and admits when it does not know. Visitors get answers instead of archives, and you get to see what they asked.
Building retrieval-augmented generation (RAG) yourself is a real project. You need ingestion for every source type, chunking that respects document structure, embeddings, a vector store, retrieval tuning, grounding logic so the model stays inside your material, a citation UI, refusal behavior for out-of-scope questions, and then hosting, monitoring, and a front end. Add real-time voice and it roughly doubles.
Mindola gives you the finished product behind one link and one API. You provide the material; Mindola handles knowledge retrieval, grounded answers, citations, refusals, voice, the public page, and the inbox for unanswered questions. You can go from nothing to a working grounded AI page in one conversation with your coding assistant.
Building your own is still the right call in some situations. If you need full control over which models run, where your data lives, or how retrieval is ranked, or you want to embed the pipeline deep inside an existing product, roll your own. Mindola is for everyone who wants the outcome without owning the pipeline.
The MCP server is hosted. There is nothing to run locally; you point your client at a URL.
Claude Code
Cursor (~/.cursor/mcp.json or project .cursor/mcp.json)
Claude Desktop / claude.ai
Settings -> Connectors -> Add custom connector -> URL https://app.mindola.ai/mcp/lens.
For VS Code, Codex CLI, Windsurf, Gemini CLI, ChatGPT, and troubleshooting, see docs/installation.md. Ready-to-copy client configs live in examples/clients/.
create_digital_twin_lens and returns:
No account is needed to create. The lens starts out unclaimed: live at its share URL, expiring after 30 days if never claimed. While it is unclaimed, your assistant can keep adding knowledge to it with add_lens_knowledge. Once you claim it, changes go through the app or the authenticated developer API.
The assistant calls add_lens_knowledge with the URLs, then polls get_lens_status until the knowledge counts show everything as ready. Open the share URL and ask your lens a question.
Create an API key in the Mindola app, then create a lens seeded with knowledge in one call:
The response is 201 with { id, token, shareUrl, sourcesQueued }. Ingestion runs in the background; poll GET /api/v1/lenses/:id until the knowledge counts show ready. Full reference in docs/api.md.
Ten of these are written out end to end in examples/use-cases/, each with a prompt to paste, the conversation to expect, and the final result.
Paste any of these into Claude, Codex, Cursor, or ChatGPT once the server is connected.
One hundred more, organized by role and goal, in docs/prompts.md. For an industry-first view, examples/100-prompts.md holds 100 one-sentence prompts grouped by field, from customer support to online courses.
The REST developer API v1 lives at https://app.mindola.ai and authenticates with Authorization: Bearer mnd_<key>. Write endpoints are limited to 30 requests per minute per key.
| Endpoint | What it does |
|---|---|
POST /api/v1/lenses | Create a lens, optionally seeding up to 50 text or url knowledge items |
GET /api/v1/lenses | List your lenses, up to 100, newest first |
GET /api/v1/lenses/:id | Get one lens with its knowledge counts (total, ready, pending, failed) |
POST /api/v1/lenses/:id/knowledge | Add up to 50 more knowledge items to an existing lens |
Full field-by-field reference, error codes, and key management in docs/api.md. Runnable examples in curl, Node, and Python live in examples/.
The server exposes exactly three tools:
create_digital_twin_lens: creates a lens from a profile the user approved in the conversation, and returns the share URL and claim URL.add_lens_knowledge: adds up to 20 text or url items to an unclaimed lens by its token; content runs through the standard ingest pipeline so the lens can answer from it with citations.get_lens_status: read-only; returns the share URL, whether the lens is claimed, and knowledge counts, useful for polling ingestion progress.Smoke test the server with plain JSON-RPC, no auth needed:
Schemas, field limits, and etiquette rules in docs/mcp-tools.md.
The server speaks Streamable HTTP (MCP protocol versions 2025-03-26, 2025-06-18, and 2025-11-25) and is stateless. Knowledge you add is parsed, chunked, and embedded, then served through retrieval when a visitor asks a question. More detail, including transport behavior and the unclaimed lens lifecycle, in docs/architecture.md.
Is it free to try? Yes. Creating a lens through the MCP server costs nothing and needs no account. Mindola is free to start, and paid plans exist for heavier use.
Do I need an account? Not to create a lens. Anonymous creation gives you an unclaimed lens that is live immediately. You sign up (free) when you claim it.
What is an unclaimed lens? A lens created without an account. It works right away at its share URL and comes with a claim URL. If nobody claims it within 30 days, it expires. Until it is claimed, your assistant can still add knowledge with just the lens token.
Where does my data live? In Mindola's hosted service behind app.mindola.ai. Answers on your lens are grounded in your material, and private material never appears in citations.
Can the lens hallucinate? Answers are grounded in your material only. When a question falls outside it, the lens refuses honestly and can route the question to your inbox instead of guessing.
Can I use my own voice? Yes. Lens owners can use a cloned voice or pick a stock voice for live calls. All generated audio carries a machine-readable marking that identifies it as AI generated.
What languages are supported? The app UI ships in 10 languages: English, Dutch, German, Spanish, French, Arabic, Japanese, Korean, Turkish, and Chinese. When creating a lens you can set a BCP-47 locale for its copy.
How is this different from a custom GPT? A custom GPT lives inside ChatGPT and needs ChatGPT to use. A lens is a public web page anyone can open from a plain link, with grounded citations, honest refusals, live voice, an inbox for missed questions, and optional Stripe payments. We built it to be the front door for your knowledge, not a chat inside someone else's app.
More questions and longer answers in docs/faq.md.
Honest list of what is not there yet:
text and url. Richer source types, such as PDF upload and Q&A pairs, live in the Mindola app.get_lens_status or GET /api/v1/lenses/:id for ingestion progress.The API is small and early, and more endpoints are coming.
The documentation and example code in this repository are MIT licensed. The hosted Mindola service itself is closed source.
ai.mindola/lens at registry.modelcontextprotocol.ioShowcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/lens-2)<a href="https://allmcps.com/mcp/lens-2"><img src="https://allmcps.com/api/badge/lens-2?style=directory" alt="Lens on AllMCPs" /></a>