Mercury MCP Server
Enables searching Amazon products using the SurfSense connector in the surf_sense_search tool.
Enables web searches through Google using the SurfSense connector in the surf_sense_search tool.
Enables searching job listings on Indeed using the SurfSense connector in the surf_sense_search tool.
Enables searching Instagram content using the SurfSense connector in the surf_sense_search tool.
Enables searching Reddit content using the SurfSense connector in the surf_sense_search tool.
Enables searching TikTok content using the SurfSense connector in the surf_sense_search tool.
Enables searching Walmart products using the SurfSense connector in the surf_sense_search tool.
Enables searching YouTube content using the SurfSense connector in the surf_sense_search tool.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Mercury MCP Server Search for the latest AI news and give me the top headlines."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Mercury MCP Server
A Model Context Protocol (MCP) server exposing three tools to any MCP-compatible host (Claude Desktop, Cursor, etc.). It runs as a local Python process over stdio — no database, no REST API, no Docker Compose, no separate frontend.
Overview
The server exposes three tools:
Tool | Purpose |
| Live web research via the SurfSense REST API (with a mock fallback when not configured). |
| Local transcript / text processing — extracts headlines, word count, and top keywords. |
| 3D office visualization — returns an iframe URL when enabled, otherwise a text summary. |
Configuration is done entirely via environment variables (optionally loaded from a .env file).
SDK note: the
mcpPython SDK removed the low-level@app.list_tools()/@app.call_tool()decorator API in 2.x. This project uses the current low-levelmcp.server.ServerAPI, passing the handlers ason_list_tools/on_call_toolconstructor arguments. The three tool names, descriptions, and input schemas are identical to the design. (FastMCPwas also renamed toMCPServerin 2.x.)
Related MCP server: Google Search MCP Server
Requirements
Python 3.11+
Setup
Create and activate a virtual environment, then install the package with its dependencies:
# from the project root (this directory)
python -m venv .venv
# activate: Windows (Git Bash / cmd)
source .venv/Scripts/activate
# activate: macOS / Linux
# source .venv/bin/activate
# install the package in editable mode (installs mcp, requests, python-dotenv, pytest)
pip install -e ".[dev]"
[dev]includespytest. If you did not install with thedevextra, runpip install pytestandpip install -e .separately.
Optional: copy the environment template and fill in your keys:
cp .env.example .envEnvironment variables
Variable | Default | Description |
|
| Base URL of the SurfSense API. |
|
| SurfSense workspace ID (required to enable live search). |
|
| SurfSense API key. |
|
| Directory of |
|
| When |
|
| URL embedded in the iframe. |
|
| Logging level. |
Running the server
Run the stdio server directly:
python -m mercury_mcp.serveror via the installed console script:
mercury-mcpBecause it is an MCP stdio server it is normally launched by your MCP host rather than run interactively. See MCP server config below.
The three tools
surf_sense_search
Live web search via SurfSense. When SURFSENSE_API_KEY and SURFSENSE_WORKSPACE_ID are both
set it performs a real scrape; otherwise it returns deterministic mock data.
Input schema: query (required string) and connector (optional, default google_search,
one of google_search, reddit, youtube, web_crawl, amazon, walmart, google_maps,
indeed, tiktok, instagram).
{
"query": "latest AI news",
"connector": "google_search"
}Output: JSON with source, query, and items (each item has title and content).
ghost_pepper_process
Process a transcript or arbitrary text. If text is empty, it reads the most recently
modified .md file in GHOST_PEPPER_TRANSCRIPT_DIR.
Input schema: text (optional string).
{
"text": "We discussed AI trends and new features. The roadmap is approved. Next step is rollout."
}Output: JSON with headlines (up to 3 sentences), word_counts, top_terms (up to 5
keyword/count pairs), and the full transcript.
hermes_3d_visualize
Turn processed data into a 3D office visualization. When HERMES3D_ENABLED=true it returns an
HTML <iframe> pointing at HERMES3D_OFFICE_URL; otherwise it returns a short text summary.
Input schema: data (required object, e.g. the result of ghost_pepper_process).
{
"data": { "headlines": ["We discussed AI trends", "Roadmap approved"] }
}Output: iframe HTML or a text string.
Tests
pytest -qMCP server config (section 8)
Add the server to your MCP client configuration. Example for
openmausbot:
{
"mcpServers": {
"mercury": {
"command": "python",
"args": ["-m", "mercury_mcp.server"],
"env": {}
}
}
}Use the full path to your venv's Python if python is not on the host's PATH. For instance,
on Windows the venv interpreter is typically:
.venv/Scripts/python.exe under the project root. You can also inject environment variables
via the "env" block, or rely on the .env file (loaded automatically on startup).
Project layout
.
├── pyproject.toml
├── README.md
├── .env.example
├── .gitignore
├── src/
│ └── mercury_mcp/
│ ├── __init__.py
│ ├── server.py
│ ├── config.py
│ └── tools/
│ ├── __init__.py
│ ├── surfsense.py
│ ├── ghostpepper.py
│ └── hermes3d.py
├── tests/
│ ├── test_surfsense.py
│ ├── test_ghostpepper.py
│ └── test_hermes3d.py
└── examples/
└── openmausbot_mcp_config.jsonAvailable Tools
3 toolsghost_pepper_processA
Process a transcript or text and extract headlines, word count, and keywords
Inputs: text.
hermes_3d_visualizeC
Generate a 3D visualization (iframe) from processed data
Inputs: data (required).
surf_sense_searchC
Search the web using SurfSense
Inputs: query (required), connector.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 3 tools
Each tool targets a clearly distinct action: web search, transcript/text processing, and 3D visualization. There is no functional overlap between them, so an agent will not confuse surf_sense_search with ghost_pepper_process or hermes_3d_visualize.
All three follow a consistent <brand>_<action> snake_case pattern (surf_sense_search, ghost_pepper_process, hermes_3d_visualize), which is predictable. However the opaque brand prefixes (ghost_pepper, hermes) reduce readability and hint at product-specific naming rather than a clean verb_noun convention.
Three tools is on the thin side but each maps to a distinct stage of a search -> process -> visualize pipeline, so none feels redundant. It is reasonable for a focused media/analysis server, though slightly under-scoped for standalone use.
The set implies a pipeline (search, process, visualize) but lacks ways to retrieve or persist intermediate results, configure the pipeline, or manage prior runs. Core stages exist but there are notable gaps that could force agents to work around missing operations.
Maintenance
Related MCP Connectors
One MCP server for all web data. Scrape, search, crawl, and AI research in one install.
Live AI-native web search with citations. One tool for every MCP client. Flat per-request pricing.
Verified business OSS MCP for search, RSS, crawling, documents, browser, media and transcription.
A hosted MCP suite providing workflow primitives: web search, content fetching, compression, deduplication, cost/budget management, and agent memory pipelines.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides comprehensive search capabilities including web search, content extraction, news search, academic search, and AI-powered multi-source research. Enables natural language access to web content and research through a production-ready MCP server.MIT
- AlicenseBqualityNot gradedmaintenanceProvides advanced Google Custom Search functionality, web content extraction, and specialized research tools such as search analytics, multi-site search, and fact checking. Works as an MCP server compatible with any MCP client.10MIT
- AlicenseNot gradedqualityDmaintenanceA hosted MCP server providing 15 media and data tools for AI agents, including web search, news, content extraction, summarization, translation, moderation, script writing, text-to-voiceover, transcription, subtitles, viral-clip discovery, and short-form video editing.1MIT
- AlicenseAqualityCmaintenanceGives MCP-capable agents live web access: search the web, scrape pages into Markdown (including JavaScript-heavy and bot-protected sites), and extract named fields as JSON, with job polling, token-aware content offloading, and built-in research guidance. Ships as a self-hostable stdio or HTTP service with spend caps and per-request key support.7MIT