Skip to main content
Glama
IliaKostroma

positive-search-mcp

by IliaKostroma

Positive Search MCP server

Infrastructure for trading AI agents and their humans

which allows saving tokens while getting the highest-quality information about the current news background. Through the analysis of a large number of open sources, Polymarket, X and Truth.

An advanced scoring formula, a system of narratives and a source-quality audit together help not to let fakes through. And to easily make decisions based on information that is already analyzed, selected and sorted. The process of collecting the information and the process of analysis are laid out, described and easy to understand — and assembled from open sources, so, just in case, all of it is very easy to verify.

For the human on the site — a convenient UX where you immediately see which narratives pull the price and in which direction. It provides history in the blockchain, which gives very high reliability. The only tool to see the movement — sentiment over the last day, over the last few days, over the last week, which also helps to make better decisions in trading.

Want the details? How the AI reads the news and builds the index — About, in eight languages: EN · RU · DE · FR · ES · PT · PL · NL


Install

Python 3.9+. No dependencies — standard library only, so there is no version conflict to resolve and nothing to keep updated.

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "positive-search": {
      "command": "uvx",
      "args": [
        "--from", "git+https://github.com/IliaKostroma/positive-search-mcp",
        "positive-search-mcp"
      ]
    }
  }
}

Claude Code

claude mcp add positive-search -- uvx --from git+https://github.com/IliaKostroma/positive-search-mcp positive-search-mcp

Cursor

~/.cursor/mcp.json — same shape as the Claude Desktop block above.

Restart the client afterwards, then ask it "what's the news sentiment on bitcoin right now?"

Without uv

It is one file with no imports beyond the standard library, so a clone is enough:

git clone https://github.com/IliaKostroma/positive-search-mcp.git
python3 positive-search-mcp/ps_mcp.py --selftest

Then point command at python3 and args at the absolute path to ps_mcp.py.

Or install it into your environment:

pip install git+https://github.com/IliaKostroma/positive-search-mcp
positive-search-mcp --selftest

--selftest runs the handshake and every tool against the live site and prints a pass/fail line for each — worth running once before you trust it.


Related MCP server: news-sentiment-mcp

Tools

Tool

What it answers

get_sentiment

Start here. The current reading — number, state, measurement time and expiry, what it is made of (news + X + Polymarket), 1h/24h/7d change, a ready citation line — and the three heaviest narratives, so one call answers both what and why

get_narratives

The full set of stories, each with its sentiment, mass and cross-source agreement, plus example headlines with links

get_history

Seven days, daily by default (close/avg/min/max per day) — enough to tell a normal reading from an outlier; granularity: "hourly" for every run, about six times the payload

get_sources

The evidence — every headline that went into the reading, with its own score, age, publisher and a link to the original

compare_assets

All three readings at once, ranked most bullish first, each with its own measurement time

The cheap path: compare_assets to pick an asset → get_sentiment for the reading and the top narratives → get_narratives only if you want the whole picture → get_sources only to verify a specific headline → get_history only to check whether today is unusual.

Assets: BTC, GOLD, OIL. Loose spellings work — bitcoin, XAU, crude oil. Anything else returns an explicit error naming what is covered, never a substitute reading.

On weights. Narrative mass is published; per-article weight is not. A single article's weight is one model judgement and moves between runs, while narrative mass aggregates many articles and is stable — so weight is published where it holds still. Inputs are auditable, the published reading is tamper-evident, and the per-article weighting is not reproducible from here. We would rather say that than imply otherwise.


What makes it worth citing

Every reading carries its own measurement time. The three assets are scored on their own hourly runs, so their readings carry three different timestamps. Quote a number with the time next to it — a sentiment value without its moment is wrong the hour after.

The number is a stored fact, not a live recomputation. It is computed once, when the run happens, from the components captured in that same run. Re-read that run tomorrow and you get the same number to the last digit.

Every source is linked. The index is only as good as what it read, so what it read is public: get_sources returns each headline with its own score and a link to the original.

Past readings cannot be silently rewritten. Every run enters a sha256 hash chain whose head is anchored daily in the Bitcoin blockchain via OpenTimestamps. The fingerprints and their proofs are published at https://positivesearch.app/proofs/ and verify independently of this site and its owner (ots verify).

Honest limits, stated up front. It measures the tone of news coverage. It is not price, not a price forecast, and not financial advice. We do not recommend using it as your only input — use it alongside technical, fundamental and other analysis, as one instrument among several.


How to read the number

+1 strongly bullish coverage, −1 strongly bearish, 0 balanced, not silent — bull and bear pressure are measured separately, so a reading near zero usually means two strong narratives pulling against each other. get_narratives tells the two cases apart.

"Bullish" means works in favour of the price, not good news. Bad news for an industry is often bullish for its price.


Without MCP

Everything here is also plain HTTP, no key required:


Contact

Need another instrument (ETH, SOL, an FX pair, an index)? The engine is not tied to any asset — hi@positivesearch.app.

MIT licence for this client. The readings themselves are published under CC BY 4.0.

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    B
    quality
    F
    maintenance
    Real-time cryptocurrency news, analysis, and price predictions for AI agents. 5 tools to search 50,000+ articles across 12 categories, filter by 120+ asset tickers, and access content with built-in attribution. Free with attribution. SSE and Streamable HTTP transport.
    4
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides real-time crypto market sentiment analysis for BTC, ETH, and SOL using Google Gemini 2.0, enabling AI agents to get actionable alpha.
    9
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • Real-time curated crypto news for AI agents with sentiment, recaps, and search.

  • Real-time financial news for AI agents: search by ticker and source, with sentiment and entities.

  • AI-enriched financial news for AI agents & trading bots: search, trending, insider, scored 1-10.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/IliaKostroma/positive-search-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server