URL to LLM-ready markdown β plus per-page category, page_structure, and query-driven highlights.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Octen MCP.
searchSearch the live web with domain, text, language (ISO 639-1), time, and content controls
news_searchSame engine as `search`, fixed to news
broad_searchDecompose a query into up to `max_queries` sub-queries, search concurrently, return grouped results (same per-sub-query options as `search`, including the `language` filter)
extractFetch 1-20 URLs and return clean content, labels, and optional highlights
image_search_In Beta β contact us for beta access._ Search the web for images by text query (optional reference `image_url`)
video_search_In Beta β contact us for beta access._ Search the web for videos by text query
MCP server for Octen. Plug it into Claude, Cursor, VS Code, Windsurf, or any MCP client to give your agent live web search and URL extraction.
Core capabilities:
search / news_search: search the live web with domain, text, language, and time filters.broad_search: decompose a query into multiple sub-queries, search them concurrently, and return results grouped per sub-query for broad coverage.extract: turn one or more URLs into clean, LLM-ready content.image_search (In Beta β contact us for beta access): search the web for images by text query, by a reference image URL, or by base64 image data β exactly one of the three.video_search (In Beta β contact us for beta access): search the web for videos by text query.What makes Octen useful for agents is that extract returns more than page text. Each successful result also includes:
category: what the page is aboutpage_structure: what kind of page it ishighlights: ranked snippets when you pass a queryThat lets an agent skip login walls, nav pages, and off-topic URLs before spending tokens on the full body.
Web search averages 62ms. Fast enough for multi-step MCP workflows.
Powered by SOTA text and VL embedding models. Better sources, fewer hallucinations.
Live web data with minute-level updates. Useful for news, prices, and fast-moving pages.
Clean highlights, optional full_content, and page labels keep model context relevant.
You need an OCTEN_API_KEY from octen.ai β or nothing at
all, if your client signs in over OAuth (see Signing in instead).
Two ways to connect. Both serve the same six tools.
| Endpoint | When | |
|---|---|---|
| Hosted (recommended) | https://mcp.octen.ai/mcp | Nothing to install or update. Works with any client that speaks remote MCP. |
| Local | npx -y octen-mcp | Clients without remote support, air-gapped setups, or when you want the process on your own machine. |
Node compatibility (local only): 0.4.2 and later run on every supported Node (>= 18.17), including Node 26+. Versions 0.4.1 and below fail every call on hosts whose embedded undici is v8+ (Node 26 and later) with
Network error β¦ code=UND_ERR_INVALID_ARG cause=invalid onError methodβ if you see that error, upgrade the package (or run on Node <= 24).
Three ways, tried in this order. Prefer a header β a key in a URL is
exposed to proxy logs, browser history and Referer headers.
| Form | Use when |
|---|---|
x-api-key: <key> | The default. |
Authorization: Bearer <key> | Your client only offers one header field. |
?octenApiKey=<key> appended to the URL | Your client accepts nothing but a URL. |
Or use OAuth and paste no key at all β see Signing in instead.
Claude Code β install the plugin. It brings the hosted server together with
two skills, octen-web-search (routes a request to the right tool) and
octen-research (multi-source research pipeline):
Or from inside a session: /plugin marketplace add Octen-Team/octen-mcp, then
/plugin install octen@octen.
The plugin carries no credential. The first call is answered 401 and Claude
Code walks you through the OAuth sign-in β run /mcp if you want to start it
yourself. To register the server on its own instead, with a key:
Cursor β ~/.cursor/mcp.json
VS Code β .vscode/mcp.json (workspace) or the user config. Note servers,
not mcpServers, and the explicit type:
Codex
Windsurf β ~/.codeium/windsurf/mcp_config.json. The key is serverUrl,
not url:
Gemini CLI β ~/.gemini/settings.json. The key is httpUrl:
Claude Desktop takes the URL directly β no config file, no bridge. In
Settings β Connectors, click Add custom connector, name it Octen, and
enter:
Leave the Advanced settings empty: the OAuth Client ID and Secret fields are for servers that cannot register a client on their own, and ours can. Claude will offer to sign you in, and an Octen key is issued to that connection when you approve.
The connector dialog has no field for request headers, so an API key goes in the URL instead:
Signing in is the better of the two β a URL is not a secret-carrying medium, and the sign-in flow can be revoked from your account without editing anything on this side. Note also that Claude connects from Anthropic's servers rather than from your machine, so a self-hosted deployment has to be reachable from the public internet for this to work at all; a private one wants the bridge below.
Clients that only speak stdio (Zed, Warp, Raycast, Cline) reach a remote
server through the mcp-remote bridge. Note there is no space after the
colon in --header β the value is split on the first one:
If a client cannot pass a header at all and takes only a URL, put the key in
the URL instead: https://mcp.octen.ai/mcp?octenApiKey=your-key-here.
If the deployment is configured with an authorization server β the hosted one
is β a request with no credential is answered 401 +
WWW-Authenticate: Bearer resource_metadata="β¦". That is the signal MCP
clients use to start an OAuth flow, so a client that supports OAuth will offer
to sign you in rather than ask for a key.
To move a connection that already has a key onto OAuth, point it at
https://mcp.octen.ai/mcp/oauth (or append ?login). That path issues the
challenge even when a key is present, which is the only way to trigger the
switch β with a key attached, the ordinary endpoint has no reason to.
?tools=search,extract limits a connection to the tools you name, for both
tools/list and tools/call:
Clients load every advertised tool's full schema into the model's context, so
narrowing the set is a real saving when you only need one or two. An unknown
name is refused with a 400 listing the valid ones, rather than a connection
that quietly comes up short.
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase 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/octen-mcp)<a href="https://allmcps.com/mcp/octen-mcp"><img src="https://allmcps.com/api/badge/octen-mcp?style=directory" alt="Octen MCP on AllMCPs" /></a>