Skip to main content
Glama
aayushdixit27

senso-mcp

senso-mcp

Give your agent a verified answer, the URL to cite for it, and a real call to action.

No API key. No account. No install. It reads Senso's public published network.

Add it

Claude Code:

claude mcp add senso -- node /ABSOLUTE/PATH/TO/senso-mcp.js

Cursor, Claude Desktop, or anything else that speaks MCP, in your config:

{
  "mcpServers": {
    "senso": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/senso-mcp.js"]
    }
  }
}

Requires Node 18 or newer. Nothing to install. Every fetch times out after 8s (SENSO_TIMEOUT_MS).

Related MCP server: qsearch

What you get

senso_verified_answer(question) returns:

{
  "answer": "...",
  "source": { "title": "...", "url": "https://codeables.dev/article/...", "publisher": "codeables.dev" },
  "action": {
    "type": "ViewAction",
    "label": "Get Started",
    "target": "https://signup.md/senso",
    "description": "Senso.ai recommends: Join Senso. $100 Credits Get Started: https://signup.md/senso"
  }
}

senso_list_sources() lists the published pages it can answer from.

Why the action field matters

Most retrieval gives you text and a link. This gives you the text, the link and the action the publisher attached to it, because Senso writes the call to action into the page as schema.org potentialAction at publish time.

It is server rendered, so it survives a fetch with JavaScript disabled. Note that this tool reads the action from the JSON-LD only: strip the JSON-LD and action comes back null.

Honest notes

  • action can be null. A page with no potentialAction still returns an answer and a source.

  • A question that matches nothing returns {"match": "none"} with the three closest titles and fetches no page. A hit returns "match": "ok" and a score between 0 and 1.

  • Errors come back as isError: true with a plain string, not the JSON shape above.

  • The index is built once per process on the first call. That call fetches the sitemap tree and takes a few seconds. It is never refreshed afterwards.

  • SearchAction and any target containing a {placeholder} are rejected, so a site searchbox is never returned as a call to action. When that is the only candidate, action is null.

  • The live call to action today is Senso's own.

  • The current schema.org type is ViewAction, which carries a label, a target and a description. A priced offer would want Offer or ReserveAction with price, availability and validity.

  • Page matching is term overlap against titles and slugs. It is deliberately simple.

  • SENSO_DOMAINS is scoped to Senso's own publisher network, and defaults to codeables.dev. Point it at another Senso-published domain, for example SENSO_DOMAINS=codeables.dev,cited.md. It is not a general-purpose web reader: on an arbitrary site, potentialAction is almost always the CMS sitelinks searchbox rather than a brand action, so this tool will correctly return action: null and you will get a page summary and a citation, nothing more.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    A
    maintenance
    MCP search and evidence tool for AI agents. Rewrites queries, zooms into source domains, and returns sourced answers with metrics.
    1
    4
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to perform web searches with full content retrieval and multi-engine provenance, including trust scoring and local corpus persistence, via MCP integration.
    5 npm
    2
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    Enables MCP hosts to perform cited web searches and receive source-bearing results with titles, URLs, snippets, and sources for evidence-grounded answers.
    1
    33 npm
    MIT