Research MCP Server - 15 Live Tools for AI Agents avatar

Research MCP Server - 15 Live Tools for AI Agents

Pricing

from $0.000013 / actor start

Go to Apify Store
Research MCP Server - 15 Live Tools for AI Agents

Research MCP Server - 15 Live Tools for AI Agents

Give your AI agent fifteen research tools from one MCP endpoint. Sources: arXiv, Reddit, GitHub, Hacker News, OpenAlex, Stack Exchange, Wikipedia, Google News. Also SEC filings, IMDb, npm and PyPI, email checks, crypto, TikTok trends and Telegram. Connect Claude, Cursor or ChatGPT once.

Pricing

from $0.000013 / actor start

Rating

0.0

(0)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

10 days ago

Last modified

Share

Research MCP Server: fifteen live research tools for your AI agent

Point Claude, ChatGPT, Cursor or n8n at one URL and fifteen tools appear in your client. Papers, code, forums, news, SEC filings, film and TV records, package registries, crypto prices, email checks, TikTok trends and Telegram channels. No glue code, no fifteen separate API keys.

This is a server, not a scraper you run once. A normal run of it prints a notice and searches nothing, which is deliberate: the work happens over the connection, and each tool call runs on Apify under the token you connect with.

InputA tool name and its arguments, sent by your MCP client
OutputJSON back to the agent, not a dataset
Ceiling3 to 250 rows per call, depending on the tool
Account neededAn Apify account, and its API token in your client config
PriceNo per-call and no per-result charge. Calls run as Apify usage under your own token

๐Ÿ” What Research MCP Server does

It speaks the Model Context Protocol over HTTP. Your client discovers the tools on connect, your agent picks one, and the server runs a dedicated Actor for that source and hands the rows back as JSON inside the tool result. Nothing is written to a dataset.

The fifteen tools:

ToolWhat it does
search_arxivarXiv papers. Title, abstract, authors, categories, DOI, abstract and PDF links. Takes arXiv syntax like cat:cs.CL.
search_openalexThe OpenAlex scholarly graph: works, citations, authors, institutions, open-access status.
search_githubGitHub repositories by keyword. Full name, owner, stars, language, description, URL.
search_stackexchangeStack Overflow and the rest of Stack Exchange. Title, score, tags, answer count, link.
search_hacker_newsHacker News stories and comments. Title, points, author, comment count, URL.
search_redditReddit posts by keyword, across the site or inside one subreddit.
search_wikipediaWikipedia articles with a clean extract, in any language edition.
search_newsCurrent headlines with real publisher URLs, title, source and published time.
search_sec_filingsRecent SEC EDGAR filings for a company, narrowable to a form type like 10-K or 8-K.
search_imdbFilms, TV series and people. IMDb ID, year, category, top-billed cast, popularity rank.
lookup_packagenpm or PyPI packages: current version, licence, repository and monthly downloads. Live registry data, which is often newer than the model's.
crypto_marketsTop cryptocurrency markets by market cap. Symbol, price, market cap, 24h volume and change.
verify_emailWhether an address is deliverable: syntax, MX records, disposable, role or free-provider. Sends no mail.
tiktok_trending_hashtagsThe hashtags trending right now, by country and window, with rank, posts and views.
telegram_channelRecent posts from public Telegram channels. Text, views, date, links.

๐Ÿ“ฅ What you give it

Connect with your Apify token as a Bearer header, or as ?token= if your client cannot send headers. Send it one way or the other, not both.

{
"mcpServers": {
"research": {
"url": "https://dami-studio--research-mcp-server.apify.actor/mcp",
"headers": { "Authorization": "Bearer YOUR_APIFY_TOKEN" }
}
}
}

Then ask your agent in ordinary words. "Find recent arXiv papers on retrieval-augmented generation", or "what is Nvidia's latest 10-Q", or "what version is react on". It picks the tool.

Every tool has sensible defaults, so an agent sending only a search term gets a usable answer. The row limits are what stop a tool flooding your context:

ToolArguments and limits
search_arxivquery, maxItems up to 50, 10 by default
search_redditquery, optional subreddit, maxItems up to 100, 10 by default
search_github, search_hacker_news, search_openalex, search_newsquery, maxItems up to 100, 10 by default
search_stackexchangequery, optional site such as superuser, maxItems up to 100
search_wikipediaquery, optional language, maxItems up to 100
crypto_marketsoptional vsCurrency, maxItems up to 250, 20 by default
lookup_packagepackageNames for exact lookups, or searchQuery to discover, registry npm or pypi, up to 25
search_sec_filingstickers for a company's history, or query for full text, optional forms, up to 20
search_imdbquery, optional type, up to 20, 5 by default
verify_emailemails, up to 10 addresses per call
tiktok_trending_hashtagsoptional region and periodDays. Always returns 3 rows
telegram_channelchannels, comma or pipe separated, maxItems up to 200

The one input field on the Actor page itself, info, is just usage notes. There is nothing to fill in there.

๐Ÿ“ค What you get back

A tool result is one JSON text block: which tool answered, how many rows, and the rows.

{
"tool": "search_imdb",
"count": 1,
"results": [
{
"id": "tt0903747",
"kind": "title",
"title": "Breaking Bad",
"category": "TV series",
"year": 2008,
"starsOrKnownFor": "Bryan Cranston, Aaron Paul",
"rank": 46,
"url": "https://www.imdb.com/title/tt0903747/"
}
]
}

Rows are trimmed to the fields an agent can use. Poster URLs, popularity curves and other things a model cannot read are dropped before the result is sent, which keeps a call to a few hundred bytes a row instead of a few thousand.

A plain run of this Actor, outside the connection, writes exactly one row saying so:

{
"ok": true,
"kind": "mcp-server-info",
"message": "This actor is an MCP server. Enable Standby for it, then point your AI agent / MCP client at the actor's Standby URL to call the tools below. A normal run only prints this notice",
"toolCount": 15
}

๐Ÿงพ Reading the output

Three shapes come back, and telling them apart matters when you are debugging an agent.

ResultHow to spot itWhat it means
Rowscount above zero and a results arrayThe source answered.
Emptycount: 0 and a note saying so in wordsThe source ran and matched nothing.
FailureisError: true and Tool <name> failed: ...The call did not complete. Retry it.

The empty case is spelled out in words on purpose, because a bare empty array reads to a model like a broken tool and sends it into a retry loop.

An empty answer cannot always tell "nothing matched" apart from "the source was briefly unavailable". A zero that surprises you is worth one retry before you believe it.

Identical calls are answered from memory for about a minute. Repeat the same query inside that window and you get the same rows back instantly, which is what makes think-and-act loops cheap. Wait a minute for genuinely fresh data.

โ–ถ๏ธ How to run it

  1. Copy your Apify API token from Settings, API & Integrations in the Apify Console.
  2. Add the server to your MCP client config with the URL and token shown above.
  3. Restart the client. The fifteen tools appear through tool discovery.
  4. Ask for something in plain words and let the agent choose the tool.
  5. If the very first call times out, send it again. The server sleeps when idle and takes a moment to wake.

๐Ÿ’ฐ How much does it cost?

No per-call charge and no per-result charge on this Actor. Calling a tool is not metered by the row, and there is no per-tool fee.

What you pay is ordinary Apify usage. The server runs under the token you connect with, and so does the work behind each tool call. An agent left to call tools in a loop keeps that running, so cap tool use in your client the way you would cap any other action it takes on your behalf.

๐Ÿ’ก What people use it for

  • A coding agent that checks the live version and licence of a package before recommending it, instead of guessing from training data.
  • A research assistant that reads arXiv and OpenAlex in the same conversation and cross-checks one against the other.
  • A finance agent pulling a company's actual filing history by ticker rather than summarising an article about it.
  • Anything where the answer changed after the model's training cut-off: today's news, today's prices, today's trending tags.

๐Ÿšง What it does not do

  • It is not a bulk scraper. Row limits per call run from 3 to 250 and exist to protect the agent's context. For thousands of rows, run the individual Actors.
  • No streaming. A call returns once, complete, or it fails.
  • No per-tool credentials. You cannot point a tool at a private repo, a private subreddit or a logged-in account.
  • No writes anywhere. Every tool reads.
  • tiktok_trending_hashtags always returns 3 rows, and hashtags only. No trending songs or creators.
  • Filings search without a ticker is looser. Give search_sec_filings a ticker when you have one; the full-text route matches more broadly and takes longer.
  • Public sources only, and results are only as current as the source is.

๐Ÿงญ Which actor do you need?

If you wantUse
Live research tools inside an AI agentThis one, Research MCP Server
To publish video to social platforms from an agentSocial Media Uploader Pro
GitHub repositories and users as a datasetGitHub Scraper
To clean a whole email list in bulkEmail Verifier
Search engine results as a datasetYandex Search Engine Scraper

โ“ Questions people ask

Which clients work with it? Anything that speaks the Model Context Protocol over HTTP. Claude Desktop, Claude Code, Cursor, ChatGPT and n8n have all been used with it.

Do I need fifteen API keys? No. One Apify token in your client config, and that is the whole setup.

Why was the first call slow? The server sleeps when nobody is using it and takes a few seconds to wake. After that, calls are quick.

Can I use just one or two of the tools? Yes. Your client lists them all, and most let you switch individual tools off.

Why did a search come back with nothing? Either the source genuinely has no match, or it was briefly unavailable. The result says which it thinks it is, and a retry settles it.

Can I add my own source? Not to this server. Open an issue with what you need and why.

๐Ÿ†˜ If something breaks

Open the Issues tab on the actor page. Send the tool name, the arguments your agent used and what came back. A failed call quotes the reason in its own message, which is usually enough to name the problem.