Save and query market signals from your AI conversations.
Track what you're seeing. Use it later.
Vantage is a personal signal store for AI-native work — a place to capture and query the things you notice across the web.
A post on X. A thread on LinkedIn. An insight from an article. A competitor move. Instead of losing it across tabs, screenshots, and notes, you save it — and use it later.
Your AI tools don't share memory.
Vantage fixes that.
Save signals once, and access them anywhere you have an MCP-compatible client — across Claude, Cursor, and other supported tools.
Example:
"Save this as a signal"
"What have I saved about pricing?"
"Show me signals from Lemkin"
Vantage is a simple way to keep track of what you're seeing — so your AI can actually use it later.
Sign up at vantage.cavendo.ai. Connect to Claude or another supported client. Start capturing.
Takes about 2 minutes. No install required.
npm install
npm run dev
# If 3020 is already in use, choose another port
PORT=YOUR_PORT npm run dev
# Generate your first API key
curl -X POST http://localhost:3020/api/auth/keys \
-H 'Content-Type: application/json' \
-d '{"name": "my-key"}'
The first API key can be created from localhost without auth. If you're bootstrapping a fresh remote deployment, set VANTAGE_BOOTSTRAP_TOKEN on the server and send the same value in the X-Vantage-Bootstrap-Token header on that first request.
The API key is returned as data.key in the JSON response.
Capture your first signal:
curl -X POST http://localhost:3020/api/signals \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer vtg_YOUR_KEY_HERE' \
-d '{
"signalType": "post",
"platform": "x",
"content": "Every SaaS company will need an agent layer within 18 months.",
"topics": ["AI Agents", "SaaS"],
"importance": "high"
}'
Vantage includes an MCP server with 13 tools for use with Claude, Claude Code, Cursor, or any MCP-compatible client.
If you want to use the bundled stdio MCP server directly, install its dependencies too:
cd mcp-server
npm install
cd ..
claude mcp add vantage --transport http "http://localhost:3020/mcp" --header "Authorization: Bearer vtg_YOUR_KEY"
For manual testing, note that /mcp is a streamable HTTP endpoint. MCP clients handle the response format automatically, but ad hoc curl calls need to be prepared for stream-oriented responses rather than a simple JSON-only request/response flow.
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"vantage": {
"command": "node",
"args": ["/path/to/vantage/mcp-server/src/index.js"],
"env": {
"VANTAGE_API_URL": "http://localhost:3020",
"VANTAGE_API_KEY": "vtg_YOUR_KEY_HERE"
}
}
}
}
| Tool | What it does |
|---|---|
capture_signal | Save a post, article, quote, or discussion. Auto-creates sources and topics. |
search_signals | Full-text search with filters — platform, topic, date range, importance. |
list_recent_signals | Latest signals feed. |
get_signal | Full detail on a specific signal. |
manage_source | Create or update a person/account you're tracking. |
list_sources | See everyone you're tracking with signal counts. |
manage_topic | Create or update a topic/theme. |
list_topics | All topics with signal counts. |
manage_collection | Group signals into named collections. |
set_business_context | Upload strategy docs for comparison. |
analyze_signals | Assemble signals + context for analysis. |
get_dashboard | Summary — counts, top topics, top sources, highlights. |
save_analysis | Persist an analysis for later reference. |
Most API requests require Authorization: Bearer vtg_YOUR_KEY.
Exceptions:
GET /healthPOST /api/auth/keys for first-key bootstrap from localhost, or from a remote client that supplies a valid X-Vantage-Bootstrap-Token| Method | Endpoint | Description |
|---|---|---|
| POST | /api/signals | Create a signal |
| GET | /api/signals | List signals with filters |
| GET | /api/signals/search?q=query | Full-text search |
| GET | /api/signals/feed | Chronological feed |
| GET | /api/signals/:id | Signal detail |
| POST | /api/sources | Create a source |
| GET | /api/sources | List sources |
| POST | /api/topics | Create a topic |
| GET | /api/topics | List topics |
| POST | /api/collections | Create a collection |
| POST | /api/contexts | Upload business context |
| GET | /api/dashboard/summary | Dashboard summary |
| POST | /api/auth/keys | Generate API key |
| Component | Technology |
|---|---|
| Runtime | Node.js 20+ / Express / ESM |
| Database | SQLite via better-sqlite3 |
| Validation | Zod |
| Auth | API key (vtg_ prefix), SHA-256 hashed |
| MCP | @modelcontextprotocol/sdk (stdio + HTTP) |
| Variable | Default | Description |
|---|---|---|
PORT | 3020 | Server port |
NODE_ENV | development | Environment |
DATABASE_PATH | ./data/vantage.db | SQLite file path |
CORS_ORIGIN | * | CORS allowed origin |
VANTAGE_BOOTSTRAP_TOKEN | unset | Allows first API key creation from a non-localhost client when sent as X-Vantage-Bootstrap-Token |
MIT — use it however you want.
Built by Jonathan Arehart at Cavendo AI.
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y @cavendo-ai/vantage-mcpMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-cavendo-ai-vantage": {
"command": "npx",
"args": [
"-y",
"@cavendo-ai/vantage-mcp"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup reference@cavendo-ai/vantage-mcpnpmVantage — Signal Tracker works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.