Research MCP Server - 15 Live Tools for AI Agents
Pricing
from $0.000013 / actor start
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
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
10 days ago
Last modified
Categories
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.
| Input | A tool name and its arguments, sent by your MCP client |
| Output | JSON back to the agent, not a dataset |
| Ceiling | 3 to 250 rows per call, depending on the tool |
| Account needed | An Apify account, and its API token in your client config |
| Price | No 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:
| Tool | What it does |
|---|---|
| search_arxiv | arXiv papers. Title, abstract, authors, categories, DOI, abstract and PDF links. Takes arXiv syntax like cat:cs.CL. |
| search_openalex | The OpenAlex scholarly graph: works, citations, authors, institutions, open-access status. |
| search_github | GitHub repositories by keyword. Full name, owner, stars, language, description, URL. |
| search_stackexchange | Stack Overflow and the rest of Stack Exchange. Title, score, tags, answer count, link. |
| search_hacker_news | Hacker News stories and comments. Title, points, author, comment count, URL. |
| search_reddit | Reddit posts by keyword, across the site or inside one subreddit. |
| search_wikipedia | Wikipedia articles with a clean extract, in any language edition. |
| search_news | Current headlines with real publisher URLs, title, source and published time. |
| search_sec_filings | Recent SEC EDGAR filings for a company, narrowable to a form type like 10-K or 8-K. |
| search_imdb | Films, TV series and people. IMDb ID, year, category, top-billed cast, popularity rank. |
| lookup_package | npm or PyPI packages: current version, licence, repository and monthly downloads. Live registry data, which is often newer than the model's. |
| crypto_markets | Top cryptocurrency markets by market cap. Symbol, price, market cap, 24h volume and change. |
| verify_email | Whether an address is deliverable: syntax, MX records, disposable, role or free-provider. Sends no mail. |
| tiktok_trending_hashtags | The hashtags trending right now, by country and window, with rank, posts and views. |
| telegram_channel | Recent 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:
| Tool | Arguments and limits |
|---|---|
| search_arxiv | query, maxItems up to 50, 10 by default |
| search_reddit | query, optional subreddit, maxItems up to 100, 10 by default |
| search_github, search_hacker_news, search_openalex, search_news | query, maxItems up to 100, 10 by default |
| search_stackexchange | query, optional site such as superuser, maxItems up to 100 |
| search_wikipedia | query, optional language, maxItems up to 100 |
| crypto_markets | optional vsCurrency, maxItems up to 250, 20 by default |
| lookup_package | packageNames for exact lookups, or searchQuery to discover, registry npm or pypi, up to 25 |
| search_sec_filings | tickers for a company's history, or query for full text, optional forms, up to 20 |
| search_imdb | query, optional type, up to 20, 5 by default |
| verify_email | emails, up to 10 addresses per call |
| tiktok_trending_hashtags | optional region and periodDays. Always returns 3 rows |
| telegram_channel | channels, 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.
| Result | How to spot it | What it means |
|---|---|---|
| Rows | count above zero and a results array | The source answered. |
| Empty | count: 0 and a note saying so in words | The source ran and matched nothing. |
| Failure | isError: 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
- Copy your Apify API token from Settings, API & Integrations in the Apify Console.
- Add the server to your MCP client config with the URL and token shown above.
- Restart the client. The fifteen tools appear through tool discovery.
- Ask for something in plain words and let the agent choose the tool.
- 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_hashtagsalways returns 3 rows, and hashtags only. No trending songs or creators.- Filings search without a ticker is looser. Give
search_sec_filingsa 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 want | Use |
|---|---|
| Live research tools inside an AI agent | This one, Research MCP Server |
| To publish video to social platforms from an agent | Social Media Uploader Pro |
| GitHub repositories and users as a dataset | GitHub Scraper |
| To clean a whole email list in bulk | Email Verifier |
| Search engine results as a dataset | Yandex 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.