AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
MCP verified MIT Self-run

Trove

mcp-antoinebecker10-afk-trove ยท by antoinebecker10-afk

๐Ÿฆž Your content. All of it. Semantic search across GitHub, files, screenshots, videos โ€” one index, one search bar. MCP server for Claude Code.

โ€” No reviews yet
0 installs
14 views
0.0% viewโ†’install

Install

$ agentstack add mcp-antoinebecker10-afk-trove

โœ“ scanned ยท โœ“ verified, works with Claude Code, Cursor, and more.

Security review

โœ“ Passed

No issues found. Passed automated security review. ยท v0.1.0 How review works โ†’

  • โœ“ Prompt-injection patterns
  • โœ“ Secret / credential exfiltration
  • โœ“ Dangerous shell & filesystem operations
  • โœ“ Untrusted network calls
  • โœ“ Known-malicious package signatures

What it can access

  • โœ“ Network access No
  • โœ“ Filesystem access No
  • โ— Shell / process execution Used
  • โ— Environment & secrets Used
  • โœ“ Dynamic code execution No

From automated source analysis of v0.1.0. โ€œUsedโ€ means the capability is present in the source โ€” more access means more to trust, not that itโ€™s unsafe.

View the full security report โ†’

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/mcp-antoinebecker10-afk-trove)

Reliability & compatibility

โœ“ Security review passed
0 installs to date
โ€” no reviews yet
โ—‹ 4mo ago

Declared compatibility

Claude CodeClaude DesktopCursorWindsurf

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work โ†’
Are you the author of Trove? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Trove

Search everything you've ever made. Locally.


What is this?

I kept losing time looking for stuff across GitHub, Notion, local folders, Obsidian, Slack, Figma... everything scattered everywhere. So I built Trove to index all of it in one place and make it searchable.

npx trove-os setup
npx trove-os search "that API design doc from last week"

It runs on your machine. No cloud, no account, no subscriptions.


Why it matters for AI agents

The part I didn't expect to be the most useful: Trove ships an MCP server. Instead of Claude Code (or any agent) scanning your filesystem file by file โ€” burning thousands of tokens โ€” it queries a pre-built index and gets what it needs in one call.

claude mcp add trove -- npx trove-os mcp

Then just ask normally: "find my Figma mockups for the landing page" โ€” Claude hits the index instead of doing 15 glob + grep calls.

In practice, that's gone from ~10,000-50,000 tokens per file search down to 200-500. Your mileage will vary depending on project size.


What it connects to

Trove has a plugin system โ€” each source is a "connector" (a single TypeScript file, ~100-200 lines).

Currently working:

| | Source | What gets indexed | |---|--------|------------------| | ๐Ÿ“ | Local files | Code, docs, images, videos โ€” anything on your machine | | โฌก | GitHub | Repos, READMEs, metadata | | ๐Ÿ“ | Notion | Pages, databases, content as Markdown | | ๐Ÿ’Ž | Obsidian | Vault notes, frontmatter, wiki-links, tags | | ๐Ÿ“Š | Google Drive | Docs, Sheets, Slides | | ๐Ÿ’ฌ | Slack | Messages, bookmarks, threads | | ๐ŸŽฎ | Discord | Messages, pins | | ๐ŸŽจ | Figma | Files, components, pages | | ๐Ÿ“ | Linear | Issues, docs, projects | | ๐Ÿค– | OpenClaw | Conversations, memories, skills | | ๐Ÿง  | Claude Code | Conversations, project memories | | ๐Ÿ“˜ | Confluence, Airtable, Dropbox, Raindrop | Various |

All connectors use raw fetch โ€” zero SDK dependencies. Pagination, rate limiting, and abort signals built in.

Want to add one? See [writing a connector](#write-a-connector) โ€” it's genuinely not much code.


Getting started

# Setup wizard โ€” walks you through connecting sources + installing local AI
npx trove-os setup

The wizard handles everything: source selection, API tokens, Ollama model install, first index.

If you prefer doing it by hand:

npx trove-os init            # Creates .trove.yml + .env
# Edit them, then:
npx trove-os index
npx trove-os search "query"

Use with MCP agents

Works with Claude Code, OpenClaw, Cursor, Windsurf, Cline โ€” anything that speaks MCP.

# Claude Code
claude mcp add trove -- npx trove-os mcp

# OpenClaw
openclaw config set mcpServers.trove.command "npx"
openclaw config set mcpServers.trove.args '["trove-os", "mcp"]'

# Any MCP agent
npx trove-os mcp   # stdio server

Desktop app

trove-os desktop

Electron app with search, source management, file browser (dual-pane, drag & drop), keyboard shortcuts. Connects to the same index as the CLI and MCP server.


How search works

  1. Embeddings โ€” Trove computes vector embeddings for all your content. Supports Ollama (recommended, free), Transformers.js (local), TF-IDF (zero-dep fallback), or Anthropic (cloud).
  2. Semantic search โ€” Queries are matched by meaning, not just keywords. "login page design" finds your Figma auth mockup even if "login" isn't in the title.
  3. AI answers โ€” Optional RAG via Mistral (Ollama). Ask a question, get an answer grounded in your actual content.
  4. Fallback chain โ€” Ollama unavailable? Falls back to Transformers.js. That fails too? TF-IDF. Always works.

No API keys required for basic usage.


Configuration

.trove.yml:

storage: sqlite
data_dir: ~/.trove
embeddings: ollama

sources:
  - connector: local
    config:
      paths: [~/Desktop, ~/Documents]
      extensions: [".md", ".ts", ".rs", ".png", ".mp4"]
      ignore: ["node_modules", ".git", "dist"]

  - connector: github
    config:
      username: your-username

  - connector: notion
    config: {}

API tokens go in .env (gitignored, never committed):

GITHUB_TOKEN=ghp_...
NOTION_TOKEN=secret_...
FIGMA_TOKEN=figd_...
SLACK_TOKEN=xoxb-...
# etc โ€” only add the ones you use

Ollama (recommended)

ollama pull nomic-embed-text
# That's it. Trove auto-detects Ollama on localhost:11434.

CLI

trove-os setup              # Interactive setup
trove-os index [source]     # Index all or one source
trove-os search      # Search from terminal
trove-os ask      # AI-powered file finder
trove-os chat               # Interactive AI session
trove-os watch              # Live re-index on changes
trove-os status             # Index stats
trove-os mcp                # Start MCP server
trove-os desktop            # Launch Electron app

Security

Your index might contain paths to bank statements, SSH keys, crypto wallets. Trove is paranoid about this:

  • 40+ file patterns blocked from indexing (.env, .pem, .key, .wallet, id_rsa, etc.)
  • Secret redaction in indexed content โ€” API keys, passwords, credit cards get replaced with [REDACTED]
  • Optional encryption at rest (AES-256-GCM)
  • Auth token on every API request, CORS locked to localhost, DNS rebinding protection
  • MCP tools refuse to read sensitive files
  • No shell commands anywhere โ€” execFile() only

Architecture

TypeScript monorepo, pnpm + Turborepo, 18 packages.

Sources โ†’ Connectors โ†’ TroveEngine โ†’ CLI / Web / MCP / API

The engine handles indexing, embedding, storage (JSON or SQLite), and search. Connectors are plugins that yield ContentItem objects. Interfaces consume the engine.


Write a connector

import type { Connector } from "@trove/shared";
import { z } from "zod";

const connector: Connector = {
  manifest: {
    name: "my-source",
    version: "0.1.0",
    description: "Index my source",
    configSchema: z.object({ token_env: z.string().default("MY_TOKEN") }),
  },
  async validate(config) {
    return process.env[config.token_env] ? { valid: true } : { valid: false, errors: ["Token not set"] };
  },
  async *index(config) {
    yield { id: "my:1", source: "my-source", type: "document", title: "My Doc", description: "", tags: [], uri: "https://...", metadata: {}, indexedAt: new Date().toISOString() };
  },
};
export default connector;

Publish as trove-connector-{name} on npm. See packages/connectors/ for real examples.


Dev setup (running from source)

If you cloned the repo and want to run Trove locally without publishing to npm:

git clone https://github.com/antoinebecker10-afk/trove.git
cd trove
pnpm install
pnpm build
cd packages/cli && pnpm link --global && cd ../..

Now trove-os works everywhere on your machine:

trove-os setup
trove-os search "query"
trove-os desktop

Contributing

PRs welcome. The easiest entry point is writing a connector โ€” pick a source from the "coming soon" list or bring your own.

Coming soon: Canva, YouTube, Reddit, Twitter/X, Browser Bookmarks, Jira, Google Docs, Gamma


About

I use Claude Code as a dev tool โ€” same way you'd use Copilot or Cursor. The architecture, decisions, and reviews are mine. The tool helped me move faster. I don't think that's something to hide, but I also don't think it defines the project.

If you find bugs, open an issue. If you want to improve something, open a PR. That's what matters.

License

[MIT](LICENSE)

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source โ€” we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.