positive-search-mcp

positive-search-mcp

Enables AI agents and their users to retrieve scored news sentiment, narratives, historical readings, and cited sources for Bitcoin, gold, and oil, with tamper-evident, time-stamped data for trading decisions.

Category
访问服务器

README

<img src="banner.png" alt="Positive Search" width="100%">

Positive Search MCP server

Infrastructure for trading AI agents and their humans

<!-- mcp-name: io.github.iliakostroma/positive-search-mcp -->

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.


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.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选