CubicJ MCP Search
OfficialIncludes a site extractor to fetch and extract readable content from Bluesky URLs as markdown.
Provides relevance-ranked web search via the Brave LLM Context API, returning page excerpts per source URL with controls for result count, token budget, freshness, country, and search language.
Includes a site extractor for fetching GitHub content as markdown; optionally uses a GitHub token for higher API rate limits.
Includes a site extractor to fetch and extract readable content from Naver Blog URLs as markdown.
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., "@CubicJ MCP Search search for the latest AI research papers"
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.
CubicJ MCP Search
Stateless Streamable HTTP MCP server with two read-only tools for LLM clients:
Tool | What it does |
| Brave LLM Context search: relevance-ranked page excerpts per source URL, with |
| Readable extraction of one URL as markdown (Defuddle), with site extractors for DCInside, Naver Blog, Bluesky, GitHub, Clien, Ruliweb, FMKorea, and namu.wiki, PDF text, raw mode, and pagination |
It replaces the separate brave-search-api-mcp, dc-mcp-search, and defuddle-fetch-mcp servers with one deployment sized by measured usage.
Requirements
Node.js 24, npm 11
BRAVE_API_KEY(Brave Search API, Search plan) forweb_searchOptional
GITHUB_TOKENfor higher GitHub API limits infetch
Related MCP server: Brave Search MCP Server
Run
npm ci
npm run build
BRAVE_API_KEY=... node dist/index.js --transport http --port 8006
curl -s http://127.0.0.1:8006/healthWithout --transport http (or --port) the server speaks MCP over stdio. PORT sets the HTTP port when --port is absent; .env.example lists the variables for a systemd EnvironmentFile.
The HTTP endpoint is POST /mcp. Requests carrying a browser Origin header are rejected, bodies are capped at 1 MiB, and one log line per request goes to stderr. Put authentication in front of it (a reverse proxy or an OAuth gateway); the server has none.
Development
npm test # builds, then runs Vitest offline
npm run typecheck
npm run lint # Biome
npm run smoke -- "query" # live web_search, needs BRAVE_API_KEY exportedLicense
MIT
Available Tools
2 toolsfetchFetch URLARead-onlyIdempotent
Fetch one URL and return its readable content as markdown with a title and metadata. Use it to read a page in full after web_search, or any URL the user gives: articles, docs, forums, news. Site-specific extractors return post body plus comments for gall.dcinside.com, Clien, Ruliweb, and FMKorea; body only for blog.naver.com and namu.wiki; threads with replies and profiles with recent posts for bsky.app; raw content or REST data for github.com files, repos, issues, pull requests, and gists. Non-HTML text (JSON, XML, RSS, plain text) is returned as-is; PDFs as page-separated text with page_count; image-only PDFs return a notice; other binaries are errors. raw=true skips extraction and returns the decoded response text. Long content is paginated: content is sliced from start_index (default 0) for max_length characters (default 50000); to continue, call again with start_index advanced by the previous max_length and stop when start_index + max_length >= total_length. Bot-protection pages return an error; empty pages that need JavaScript or a login return a notice.
Inputs: url (required), raw, max_length, start_index. Returns: url, mode, title, content, +5 more
web_searchWeb SearchARead-onlyIdempotent
Search the web and get relevance-ranked page excerpts for each result, ready to read and cite. First tool for any research, fact lookup, or URL discovery; most questions need one call and no follow-up fetch. Operators use a colon: site:example.com, "exact phrase", -excluded. count sets how many source URLs (1-20, default 8); max_tokens caps the total excerpt size (1024-32768, default 8192); freshness limits results by date (pd, pw, pm, py, or YYYY-MM-DDtoYYYY-MM-DD); country and search_lang scope the market. Returns JSON: query, result_count, results[{title, url, site, age, snippets[]}].
Inputs: query (required), count, country, freshness, +2 more. Returns: query, results, result_count
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 2 tools
web_search handles discovery with ranked excerpts, while fetch retrieves and extracts full content from a single URL. Their roles are clearly distinct and the descriptions reinforce when to use each.
fetch is a bare verb and web_search is a compound noun/verb form, so there is no shared verb_noun pattern. Both are readable and common, but the conventions are mixed.
Two tools cover the core search-and-retrieve workflow without redundancy, but the count is slightly below the typical 3–15 range. Each tool earns its place for the server's narrow purpose.
The surface covers discovery via web_search and retrieval via fetch, including pagination and many site-specific extractors. Minor gaps like batch fetching or search pagination exist, but there are no major dead ends.
Maintenance
Related MCP Connectors
Web search and any page as LLM-ready Markdown for AI agents. Free keyless tier, no signup.
Search the web, fetch any URL and map a site as clean, LLM-ready Markdown.
LLM-ready web search + instant answers + URL-to-clean-text fetch for agents and RAG.
Markdown scrape, site map, page metadata, screenshots, web search and PDF to text. Pay per call
Related MCP Servers
- AlicenseBqualityDmaintenanceFacilitates integration of Brave Search functionalities with AI assistants through the Model Context Protocol, enabling web and local searches using the Brave Search API.215MIT
- AlicenseNot gradedqualityDmaintenanceEnables web and local business searches through the Brave Search API. Provides general web search with pagination and filtering, plus local business search with automatic fallback to web results.MIT
- AlicenseAqualityDmaintenanceProvides web access capabilities for LLMs including search, fetching, content extraction, PDF reading, image viewing, and screenshots.346MIT
- AlicenseNot gradedqualityDmaintenanceExposes a standardized web search tool via Brave Search for MCP clients like Codex, Claude, and Cursor, returning stable JSON.MIT