Research MCP Server

Research MCP Server

23 research tools for AI agents: web search, social media, academic papers, SEC filings, citation verification, reliability scoring. Pay-per-call from $0.01.

Category
访问服务器

README

Research MCP Server — 23 Research Tools for AI Agents

One endpoint. 23 tools. Web, social, academic, and financial data — for any MCP client.

Give your AI agent the ability to search the web, extract content, find academic papers, verify citations, scan social media, pull SEC filings, and more — all through a single MCP server. Works with Claude, Cursor, ChatGPT, LangChain, LlamaIndex, and any MCP-compatible client.

Tools 23 (web, social, academic, financial, geographic)
Pricing $0.01–$0.03 per successful call. No charge on errors.
Setup 2 minutes. One URL, one token.
Rate limit 60 requests/minute
Presets Load only the tools you need (saves tokens)

Why This Exists

AI agents are only as good as their data. Without research tools, they hallucinate. With this MCP server, your agent can:

  • Search the web and extract clean content from any URL
  • Find academic papers on arXiv, bioRxiv, medRxiv and verify citations against Crossref/OpenAlex
  • Scan social platforms — Reddit, Hacker News, YouTube, Bluesky, Telegram, Mastodon, VK, Substack
  • Pull financial data — SEC EDGAR filings by ticker
  • Find geographic data — OpenStreetMap POIs and amenities
  • Detect trends across multiple platforms simultaneously
  • Resurrect dead links via the Wayback Machine
  • Score source reliability with rule-based tier scoring

Quick Start

# 1. List all 23 tools
curl -X POST https://mcp.apify.com/mcp?tools=research-mcp-server \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"tools/list","id":1}'

# 2. Call web_search
curl -X POST https://mcp.apify.com/mcp?tools=research-mcp-server \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"web_search","arguments":{"query":"AI agents 2025"}},"id":2}'

If you see a JSON response with 23 tool definitions, your token works. Then configure your MCP client below.

Use Cases

  • Research assistant: web_searchextract_contentscore_reliabilityfind_counter_argumentsverify_citationsformat_citations
  • Market intelligence: detect_trendssearch_redditsearch_hackernewssearch_news
  • Academic workflow: search_preprintssearch_datasetsfind_counter_argumentsvalidate_bibliography
  • Financial research: search_sec_filingsextract_contentscore_reliability
  • Social listening: search_blueskysearch_telegramsearch_mastodonsearch_vk
  • Link rescue: resurrect_dead_linkextract_content (read archived content)
  • Location research: search_osmextract_content (pull details from POI websites)

Tools

Web & Content — $0.01/call

Tool Description Example
web_search Google (with API key) or DuckDuckGo fallback web_search({ query: "rust async runtime" })
extract_content Clean text from any URL extract_content({ url: "https://example.com/article" })
search_news Google News RSS search_news({ query: "AI regulation EU" })
get_wikipedia Wikipedia article summary get_wikipedia({ query: "quantum entanglement" })
resurrect_dead_link Find archived version via Wayback Machine resurrect_dead_link({ url: "https://example.com/old" })
score_reliability Rule-based source reliability scoring score_reliability({ urls: ["https://en.wikipedia.org/wiki/Rust"] })

Social & Discussion — $0.02/call

Tool Description Example
search_reddit Reddit posts + comments search_reddit({ query: "best keyboard", subreddit: "MechanicalKeyboards" })
search_hackernews Hacker News via Algolia API search_hackernews({ query: "vector database" })
search_youtube YouTube videos + transcripts search_youtube({ query: "rust ownership", includeTranscript: true })
search_substack Substack newsletters via RSS search_substack({ publications: ["stratechery"], maxPosts: 20 })
search_bluesky Bluesky (AT Protocol) public posts search_bluesky({ query: "AI agents", sort: "top" })
search_telegram Public Telegram channels via t.me/s/ preview search_telegram({ channel: "durov", maxMessages: 50 })
search_mastodon Mastodon Fediverse public posts search_mastodon({ query: "rust programming" })
search_vk VKontakte public posts via official API search_vk({ query: "искусственный интеллект" })
detect_trends Trending topics across Reddit, HN, YouTube, News detect_trends({ platforms: ["reddit", "hackernews"] })

Academic & Research — $0.03/call

Tool Description Example
search_preprints arXiv, bioRxiv, medRxiv preprints search_preprints({ query: "CRISPR gene editing" })
search_datasets Zenodo, Figshare, OSF data repositories search_datasets({ query: "climate change data" })
find_counter_arguments Academic papers supporting/contrasting a claim find_counter_arguments({ query: "transformers are better than RNNs" })
verify_citations Verify citations against Crossref and OpenAlex verify_citations({ references: ["Vaswani et al. (2017)..."] })
validate_bibliography Validate entire bibliography with auto-format detection validate_bibliography({ bibliography: "Vaswani et al. (2017)..." })
format_citations Generate BibTeX, APA, MLA, Chicago, RIS from DOIs format_citations({ doi: "10.1038/nature12373", format: "bibtex" })

Specialized Data — $0.02/call

Tool Description Example
search_osm OpenStreetMap POIs and amenities via Overpass API search_osm({ query: "restaurant", location: "Berlin" })
search_sec_filings SEC EDGAR filings by ticker or company name search_sec_filings({ query: "AAPL", filingType: "10-K" })

Response Format

All tools return { query, count, results }. Errors return { query, count: 0, results: [], error: "message" }. You only pay for successful calls — errors are free.

Example — web_search({ query: "rust async runtime" }):

{
  "query": "rust async runtime",
  "count": 3,
  "results": [
    { "title": "Tokio — Async runtime for Rust", "url": "https://tokio.rs", "snippet": "Tokio is an async runtime...", "source": "duckduckgo" },
    { "title": "async-std — Alternative async runtime", "url": "https://async.rs", "snippet": "async-std provides...", "source": "duckduckgo" }
  ]
}

Example — score_reliability({ urls: ["https://en.wikipedia.org/wiki/Rust"] }):

{
  "query": "https://en.wikipedia.org/wiki/Rust",
  "count": 1,
  "results": [
    { "url": "https://en.wikipedia.org/wiki/Rust", "reliabilityScore": 1.0, "reliabilityTier": "HIGH", "domain": "en.wikipedia.org" }
  ]
}

Presets

Reduce token overhead by loading only needed tools. Configure via Actor input JSON {"preset": "web"} in Apify Console.

Preset Tools Count
all (default) All tools 23
web web_search, extract_content, search_news, get_wikipedia, resurrect_dead_link, score_reliability 6
social search_reddit, search_hackernews, search_youtube, search_substack, search_bluesky, search_telegram, search_mastodon, search_vk, detect_trends 9
academic search_preprints, search_datasets, find_counter_arguments, verify_citations, validate_bibliography, format_citations 6
data search_osm, search_sec_filings 2

MCP Client Setup

Claude Desktop

{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=research-mcp-server",
                "--header",
                "Authorization: Bearer <YOUR_APIFY_TOKEN>"
            ]
        }
    }
}

Cursor

{
    "mcpServers": {
        "research": {
            "url": "https://mcp.apify.com/?tools=research-mcp-server",
            "headers": {
                "Authorization": "Bearer <YOUR_APIFY_TOKEN>"
            }
        }
    }
}

LangChain

from langchain_mcp import MCPClient

client = MCPClient("https://mcp.apify.com/?tools=research-mcp-server",
                   headers={"Authorization": "Bearer <YOUR_APIFY_TOKEN>"})
tools = await client.get_tools()

LlamaIndex

from llama_index.tools.mcp import McpToolSpec

tool_spec = McpToolSpec(
    server_url="https://mcp.apify.com/?tools=research-mcp-server",
    headers={"Authorization": "Bearer <YOUR_APIFY_TOKEN>"},
)
tools = await tool_spec.to_tool_list()

Pricing

Tier Price Tools
Simple lookup $0.01/call web_search, extract_content, get_wikipedia, search_news, search_hackernews, score_reliability, resurrect_dead_link
Standard search $0.02/call search_reddit, search_youtube, search_substack, search_bluesky, search_telegram, search_mastodon, search_vk, search_osm, detect_trends, search_preprints, search_datasets, search_sec_filings
Premium workflow $0.03/call find_counter_arguments, verify_citations, validate_bibliography, format_citations

Pay only for successful calls. No subscription, no minimum. If a tool returns an error, you are not charged.

Cost examples:

  • 100 web searches = $1.00
  • 50 Reddit searches + 25 YouTube searches = $1.50
  • 20 citation verifications + 10 bibliography validations = $0.90
  • Full research workflow (search → extract → score → verify → format) = ~$0.08

Cost tips: Use presets to reduce token overhead. Lower maxResults for faster, cheaper calls. Use score_reliability before expensive citation tools. Simple lookups ($0.01) are cheapest — start there.

API Endpoints

Endpoint Method Description
/ GET API info and endpoint directory
/mcp POST MCP protocol endpoint (tools/list, tools/call)
/mcp GET Returns 405 (use POST)
/health GET Server health check (status, tool count, preset, uptime)
/tools GET List all active tools with pricing tiers
/usage GET Usage stats (total calls, per-tool call counts)
/pricing GET Full pricing breakdown by tier with tool lists

Rate Limits

  • 60 requests/minute per IP (global)
  • HTTP 429 with Retry-After header when exceeded
  • External API limits (Crossref, SEC, Wikipedia) handled with automatic retries

Troubleshooting

Error Cause Fix
Invalid or blocked URL SSRF protection Use public HTTP/HTTPS URLs, not localhost/private IPs
VK_ACCESS_TOKEN not set Missing env var Add VK_ACCESS_TOKEN to Apify Actor secrets
HTTP 429 Rate limit exceeded Wait for Retry-After header
Empty web_search results No Google API key Falls back to DuckDuckGo (fewer results). Add GOOGLE_API_KEY + GOOGLE_CX
Could not resolve ticker Non-US company search_sec_filings covers SEC filings only (US companies)
Bibliography must be max 50000 chars Input too large Split bibliography into smaller batches

Environment Variables

Variable Required Description
APIFY_TOKEN Yes Apify API token
GOOGLE_API_KEY No Google Custom Search API key (enables Google search)
GOOGLE_CX No Google Custom Search Engine ID
VK_ACCESS_TOKEN No VKontakte API token (required for search_vk)

Copy .env.example to .env and fill in values. Without Google API keys, web search falls back to DuckDuckGo.

Legal & Ethical Use

This actor respects robots.txt, rate limits, and platform terms of service. Users are responsible for compliance with applicable laws and the terms of service of platforms accessed (Reddit, YouTube, SEC, Crossref, etc.).

FAQ

How is this different from using SerpAPI or Serper? SerpAPI and Serper only do web search. This server covers 23 tools across web, social, academic, financial, and geographic data — all through one MCP endpoint. No need to manage multiple API keys, billing accounts, and integrations.

How is this different from building my own tools? Building 23 research tools from scratch takes weeks: API integrations, error handling, caching, rate limiting, testing, deployment. This server is production-ready, tested (71 tests), and deployed on Apify's infrastructure with standby mode for instant responses.

Do I pay for failed calls? No. You only pay for successful tool calls. If a tool returns an error (API down, invalid input, rate limited), you are not charged.

What MCP clients are supported? Any MCP-compatible client: Claude Desktop, Cursor, ChatGPT, LangChain, LlamaIndex, Windsurf, and more. The server follows the MCP protocol specification.

Can I use only a subset of tools? Yes. Use presets (web, social, academic, data) to load only the tools you need. This reduces token overhead in your AI agent's context window.

Is there a free tier? Apify provides a free tier with $5 monthly credit. At $0.01–$0.03/call, that's 150–500 free calls per month.

What happens if an external API is down? The server retries on 429 and 5xx errors with exponential backoff. If the API remains unavailable, the tool returns a clear error message (no charge). Cached results may still be served.

Development

npm install
npm run build
npm test
npm run start:dev

Deployment

This actor is configured for Apify's platform. To deploy:

# Install Apify CLI
npm i -g apify

# Login
apify login

# Push to Apify (builds and deploys)
apify push

# After deployment, set SEO title and description in:
# Apify Console → Actor → Publication → Display information

The actor uses standby mode for instant MCP responses. No cold-start delay after the first request.

推荐服务器

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 模型以安全和受控的方式获取实时的网络信息。

官方
精选