Skip to main content
Glama
Octen-Team

octen-mcp

Official
by Octen-Team

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
OCTEN_API_KEYYesYour Octen API key. Get one at https://octen.ai
OCTEN_API_URLNoOverride base URL for the Octen API (e.g., for staging or self-hosted)https://api.octen.ai

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
searchA

Search the live web and return ranked results (title, url, snippet) — fast, fresh, real-time web search for one focused lookup. For news use news_search; for anything about a company or the people in one — what it does, who runs it, its revenue or share price, what it has announced — use business_search; when all you need is the URL of a site or docs page you could almost name, use pulse_search. Pass highlight to get a ranked snippet per result, or full_content to pull the cleaned page body inline (heavier — costs more context). Narrow with domain / text include-exclude filters, a language filter (ISO 639-1 codes), and a time window (published/crawled start_time/end_time, or a relative time_range). Set include_images to return image URLs per result.

USE FOR a single focused lookup that needs real retrieval and is not already covered by a tool above: one fact, one page, one document you do not already know the address of. If the question spans several independent subtopics, load and use broad_search instead — a sequence of search calls is slower and gives worse coverage than one fan-out. To read a page you already have the URL for, use extract.

keywords: web search, search the web, look up, find, check, fact, current information, latest, news, source, url, real-time

news_searchA

Search recent news and return ranked articles (title, url, snippet) — current events, headlines, timely reporting. Alongside the articles it returns subjects: the coverage grouped into storylines, each with a summary and the span it covers, so a "what happened with X" question is answerable without reading every article. Narrow with domain filters, a language filter (ISO 639-1 codes), and a time window (published/crawled start_time/end_time, or a relative time_range). include_domains/exclude_domains narrow the ranked articles only — the storylines are built from the open web either way. When the question restricts its sources ("what is Reuters saying about X"), answer from the articles, not the storylines. Pass highlight for a ranked snippet per article, or full_content for the cleaned article body (heavier — costs more context).

USE FOR what is being reported right now: breaking events, announcements, coverage of a company or person over the last days or weeks. For a company or person profile — financials, key people, career history — use business_search, which returns that as structured cards instead of articles to read. For non-news web pages use search. For a multi-angle question spanning several independent subtopics, use broad_search rather than looping this tool.

keywords: news search, latest news, headlines, current events, breaking news, recent, today, this week, press coverage, storylines

business_searchA

Look up a company or a person and get a structured card back, plus the ranked sources behind it. A company card carries the profile, identifiers, financial and stock metrics, key people and recent announcements; a person card carries the current position, career history and recent activity. Name two companies in one query and you get a card for each, same fields, ready to compare. Set entities.enable to false for a plain ranked list instead.

USE FOR any question about a company or the people in one, including the numbers: revenue, net income, gross profit by quarter and year, share price and 52-week range, funding rounds and who led them, headcount and web traffic, key people and their titles, career history, recent announcements. Also "what does this company do", due diligence, and how two of them compare.

The card already holds those figures, so a question like "what was their revenue last quarter" is one call here. Reaching for search means reading a dozen pages for numbers this returns directly, and far more context for the same facts.

NOT FOR breaking coverage of an event — use news_search, which returns articles and storylines. NOT FOR general web pages — use search.

Examples: "NVIDIA company overview", "Lisa Su AMD CEO", "compare Stripe and Adyen payment processing", "semiconductor supply chain outlook".

keywords: company, business, due diligence, competitor, executive, CEO, founder, funding, valuation, revenue, earnings, stock, profile, who is, what does company do, compare companies

place_searchA

Find real-world places and get each one back as a card: name, category, address, coordinates, phone, website, opening hours, status (open / closed / permanently closed), rating and review count. Pass latitude and longitude to search around a point — each card then carries its distance in metres — and radius to cap how far. When you only know the city, pass user_location instead. A query that names its own area ("ramen in Shinjuku") works without either.

USE FOR anything with a location: "coffee shops near me", "family-friendly restaurants", "museums in Lisbon", "is this place open on Sunday", "what's their phone number". The cards answer these directly — search would return pages about places that then have to be read.

Set places.max_reviews (0-5) when what reviewers actually wrote is the question — "is it good for groups", "do people complain about the wait". Off by default: review text is long, and rating plus review_count already come on every card.

Set web_search.enable to true when the pages discussing these places matter too (round-ups, articles). It is off by default: the places are the answer here, and the pages cost context.

Pass the caller's location when the question is relative to them ("near me", "nearby", "closest") or names no area at all — without it such a query is not limited to anywhere, and "near me" means nothing. A query that names its own area does not need it, and sending coordinates there is data the search will not use.

keywords: places, near me, nearby, restaurant, cafe, coffee shop, bar, hotel, museum, shop, store, address, directions, opening hours, phone number, rating, reviews, local, map

pulse_searchA

When what is wanted is a web address rather than what is written on the page, this is the tool. It returns up to 10 ranked candidate URLs with titles — the single most likely one, the top three, or a shortlist to choose from, whichever the question calls for. Official docs and API references ("github docs", "uv documentation", "python list methods"), help centres ("how do I return an amazon order"), a site you know exists ("youtube").

Prefer it over search for those: one inference predicts the URLs instead of searching and ranking them, so it answers in about 10ms for a fraction of the cost. Reaching for search to look up an address is slower and costs more for the same answer.

NOT FOR news or anything needing freshness — use news_search. NOT FOR a question that needs real retrieval across the open web, domain or language filters, or a time window — pulse has none of those parameters, sees no fresh content, and is not a cheaper substitute for search.

mode decides what comes back. lite (the default) returns titles and URLs only. standard adds highlights, full page content and images at roughly twice the latency; highlight, full_content and include_images do nothing in lite.

keywords: url lookup, find the site, official docs, api reference, documentation, help centre, homepage, where is, which url, candidate urls, top urls, quick lookup, destination, autocomplete

broad_searchA

Search the web across many angles in one call — for comparisons, research, surveys, and questions with several distinct parts. Expands your question into multiple sub-queries and runs them concurrently.

USE WHEN the question has multiple distinct parts or entities that one search cannot cover:

  • comparing vendors / products / pricing across many sources

  • literature reviews, market or landscape surveys

  • open-ended "what are the options for X" / "how do people solve Y"

  • a question that clearly decomposes into 3+ independent sub-questions

  • multi-angle questions about recent events ("what shipped across the industry this month") — do NOT loop news_search

DO NOT USE for anything another tool answers directly — fanning out costs Nx and returns pages where those return the answer:

  • a single fact, entity, or document → use search

  • a company or the people in one, including its financials → use business_search

  • news or recent events on a single topic → use news_search (multi-angle is the exception above)

  • a real-world place, address, opening hours → use place_search

  • the URL of a site or docs page you could almost name → use pulse_search

  • images or videos → use image_search / video_search

  • re-running a disappointing search → do NOT call broad_search twice; follow up with a targeted search or extract on the specific gaps

  • reading a page you already have the URL for → use extract

  • a straight A-vs-B comparison of two known entities → two targeted search calls are cheaper and more controllable

COST: fans out into max_queries concurrent searches — roughly Nx the cost and notably higher latency than a single search. When in doubt, prefer search.

QUERY: pass one natural-language question (max 500 chars). Resolve pronouns and references from the conversation first — "how does it compare to the other one" is a useless query. Do NOT pre-split into sub-queries; that is this tool's job. For broader coverage raise max_queries rather than calling repeatedly. Per-sub-query options (count, language filter, domain / text filters, time window, highlight / full_content, media) match search and apply to every sub-query.

RESULTS are grouped per sub-query and NOT deduplicated — the same URL may appear under several sub-queries.

max_queries: 3-5 focused comparison (2-3 entities) | 5-10 multi-facet research | 10-20 landscape scan | 20-30 exhaustive survey

For a single focused lookup use search; to read a specific page use extract. Reach for this one only when no single tool above covers the question.

keywords: web search, search the web, look up, find information, research, compare, comparison, versus, alternatives, options, landscape, survey, market research, pricing, latest, current information, multi-part question

extractA

Read one or more web pages by URL and return clean, LLM-ready content (markdown or text). By default (no query) it returns each page's full content — this is what you want in almost all cases. Only pass query when the user explicitly asks to fetch relevance-ranked snippets for a specific topic; doing so returns highlights INSTEAD of the full body, so the content will be partial. Every result also includes a category (topical) and page_structure (typology) classification. Bare hosts like 'octen.ai' are auto-normalized to https. Cached when fresh.

Pick mode by how hard the URLs are: ordinary sites → standard (or omit), known hard sites → advanced, mixed/unsure → auto. If a standard result failed or came back empty/skeletal, retry just those URLs with mode "advanced".

Use this when you already have the URL(s). To find pages first, use search or broad_search.

keywords: read page, fetch url, scrape, page content, article text, parse webpage, extract, read article, url content, open link

image_searchA

Find images on the web by text query OR by a reference image — returns ranked results (title, source page, dimensions, thumbnail, description, summary). Pass exactly one of: a text query, an image_url (a picture already on the web), or image_data (base64, for a picture you hold). Never more than one. Use this when the user wants pictures, photos, diagrams, screenshots, or visual references — not for general text web search.

keywords: find images, image search, photos, pictures, screenshots, visual reference, diagram, icon, illustration, reference image

video_searchA

Find videos on the web by text query — returns ranked results (title, source page, cover image, duration, matching segment, authors, description). In Beta; contact us to request beta access. Pass a text query. Use this when the user wants to find videos, clips, footage, tutorials, or a specific moment within a video — not for general text web search.

keywords: find videos, video search, clips, footage, youtube, tutorial video, watch, movie, video clip

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.4/5.0

Scored across 9 tools

Disambiguation4/5

The tools are mostly distinct, and the descriptions explicitly define when to use each search variant. However, the search family still has some overlap — especially search vs. broad_search vs. pulse_search — where an agent could misselect based on question shape.

Naming Consistency4/5

Names follow a consistent snake_case convention, with most tools using a clear [modifier]_search pattern. The bare `search` and verb-style `extract` are minor deviations but remain predictable.

Tool Count5/5

Nine tools is well within the appropriate range for a multi-modal web research server. Each tool covers a distinct retrieval modality or strategy and earns its place.

Completeness4/5

The surface covers general, news, business, place, image, video, URL, and broad search plus page extraction, which is strong lifecycle coverage for web research. Minor gaps remain, such as no explicit crawling/pagination or deep structured follow-up tools.

Maintenance

ActivityActive
ResponsivenessNo issues