by anysearch-ai
Unified real-time search engine skill for AI agents.
# Add to your Claude Code skills
git clone https://github.com/anysearch-ai/anysearch-mcp-serverGuides for using ai agents skills like anysearch-mcp-server.
Last scanned: 5/22/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-22T07:44:15.558Z",
"semgrepRan": false,
"npmAuditRan": true,
"pipAuditRan": true
}anysearch-mcp-server is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by anysearch-ai. Unified real-time search engine skill for AI agents. It has 1,552 GitHub stars.
Yes. anysearch-mcp-server passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/anysearch-ai/anysearch-mcp-server" and add it to your Claude Code skills directory (see the Installation section above).
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh anysearch-mcp-server against similar tools.
No comments yet. Be the first to share your thoughts!
Unified real-time search MCP server supporting general web search, vertical domain search, parallel batch search, and full-page URL content extraction.
An API key is optional but recommended. Without a key, all features still work via anonymous access with lower rate limits.
The agent can register the user and obtain an API key in a single call — no verification code, no manual signup. Ask the user for a real email address: it becomes the account username, and a randomly generated password is emailed to it.
curl -s -X POST "https://api.anysearch.com/v1/auth/email/register" \
-H "Content-Type: application/json" \
-d '{"email": "you@example.com"}'
Success response (code: 0) returns the account info and a one-time plaintext API key:
{
"code": 0,
"message": "success",
"data": {
"username": "you@example.com",
"email": "you@example.com",
"login_url": "https://www.anysearch.com/login",
"api_key": {
"id": "key_xxxxxxxx",
"key": "as_sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"key_prefix": "as_sk_xxxxxx...",
"name": "default",
"rate_limit": 100,
"quota_limit": 0,
"expires_at": null,
"created_at": "2026-06-23T10:23:00Z"
}
}
}
On success the agent MUST:
data.api_key.key into the MCP server config as the Authorization: Bearer <key> value (and/or set ANYSEARCH_API_KEY) — it is shown only once (it can also be retrieved later from the dashboard).login_url, and that a random password has been emailed to that address.Error handling (always code: -1 on error; branch on the message string):
| message | what to do |
|---|---|
Invalid email address. |
ask the user to re-enter the email |
email_already_registered |
email is taken — tell the user to sign in at login_url; do not retry |
contains Rate limited |
read retry seconds from message (e.g. "Rate limited, retry after 300 seconds."), wait, then retry |
starts with Key creation failed. |
account created but key failed — extract the email and URL from the message ("Key creation failed. Your account <email> was created; sign in at <url>.") and tell the user to sign in there to create a key manually |
Internal server error. |
retry later or fall back to anonymous |
The email must be real and reachable — the password is delivered there. There is no verification code in this flow; the agent only ever asks for an email.
Alternatively, visit https://anysearch.com/console/api-keys to create a free API key.
| Priority | Source |
|---|---|
| 1 (highest) | --api_key CLI flag / Authorization header |
| 2 | Environment variable ANYSEARCH_API_KEY |
| 3 | .env file (ANYSEARCH_API_KEY=<key>) |
| 4 | Anonymous access (lower rate limits) |
| Scenario | Behavior |
|---|---|
| No key | Proceed with anonymous access (lower rate limits) |
| Has key | Sent via Authorization: Bearer <key> header, higher rate limits |
| Key exhausted, auto-registered key returned | Agent should ask user for confirmation, then persist the new key |
| Key exhausted, no new key | Inform user and suggest configuring a new API key |
AnySearch MCP server natively supports Streamable HTTP transport (MCP spec 2025-03-26). SSE and stdio clients can connect via proxy.
| Transport | Native? | Best for |
|---|---|---|
| Streamable HTTP | Yes | OpenCode, Claude Desktop (2025.6+), web-based clients |
| SSE | Via proxy | Cursor, Windsurf |
| stdio | Via proxy | Claude Desktop (legacy), VS Code Copilot, Cline |
For agents that support the Streamable HTTP transport (MCP spec 2025-03-26+):
OpenCode (v1.x+ / v0.1.x+):
Config file location depends on your OpenCode version. Run opencode -v to check.
| Version | Global Config Path | Project Config Path |
|---|---|---|
| 1.x+ (current) | ~/.config/opencode/opencode.json |
opencode.json or .opencode/opencode.json |
| 0.1.x ~ 0.15.x | ~/.config/opencode/opencode.json |
opencode.json |
| 0.0.x (legacy Go) | ~/.opencode.json |
.opencode.json |
Windows: Replace
~/.config/opencode/with%USERPROFILE%\.config\opencode\.
For v1.x+ and v0.1.x+ (MCP key: mcp):
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"anysearch": {
"type": "remote",
"url": "https://api.anysearch.com/mcp",
"enabled": true,
"headers": {
"Authorization": "Bearer ${ANYSEARCH_API_KEY}",
"X-Anysearch-Client": "mcp/1.0.0"
}
}
}
}
{
"mcpServers": {
"anysearch": {
"type": "sse",
"url": "https://api.anysearch.com/mcp",
"headers": {
"Authorization": "Bearer ${ANYSEARCH_API_KEY}",
"X-Anysearch-Client": "mcp/1.0.0"
}
}
}
}
The legacy Go version does not support Streamable HTTP natively. Use SSE or stdio via proxy instead.
Claude Desktop (2025.6+, claude_desktop_config.json):
{
"mcpServers": {
"anysearch": {
"type": "streamable-http",
"url": "https://api.anysearch.com/mcp",
"headers": {
"Authorization": "Bearer ${ANYSEARCH_API_KEY}",
"X-Anysearch-Client": "mcp/1.0.0"
}
}
}
}
Without an API key, drop only the
Authorizationline but keepX-Anysearch-Client. The server will use anonymous access automatically.
For agents that only support stdio transport. Two proxy options:
mcp-remote — auto-detects Streamable HTTP, simplest config:
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"anysearch": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.anysearch.com/mcp",
"--header",
"X-Anysearch-Client: mcp/1.0.0",
"--header",
"Authorization: Bearer ${ANYSEARCH_API_KEY}"
]
}
}
}
VS Code Copilot (.vscode/mcp.json):
{
"servers": {
"anysearch": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.anysearch.com/mcp",
"--header",
"X-Anysearch-Client: mcp/1.0.0",
"--header",
"Authorization: Bearer ${ANYSEARCH_API_KEY}"
]
}
}
}
Cline (VS Code settings):
{
"mcpServers": {
"anysearch": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.anysearch.com/mcp",
"--header",
"X-Anysearch-Client: mcp/1.0.0",
"--header",
"Authorization: Bearer ${ANYSEARCH_API_KEY}"
]
}
}
}
Without an API key, omit only the
"Authorization: Bearer ..."--headerpair; keep theX-Anysearch-Client--header.
supergateway — more transport options, supports SSE output:
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"anysearch": {
"command": "npx",
"args": [
"-y",
"supergateway",
"--streamableHttp",
"https://api.anysearch.com/mcp",
"--header",
"X-Anysearch-Client: mcp/1.0.0",
"--oauth2Bearer",
"${ANYSEARCH_API_KEY}"
]
}
}
}
Without an API key, omit the
"--oauth2Bearer"and key args.
For agents that only support SSE transport (Cursor, Windsurf). Requires running a local SSE proxy server:
npx -y supergateway \
--streamableHttp https://api.anysearch.com/mcp \
--outputTransport sse \
--port 8000 \
--header "X-Anysearch-Client: mcp/1.0.0" \
--oauth2Bearer <your_api_key>
Without an API key, omit the
--oauth2Bearerflag.
Then configure your agent:
Cursor (.cursor/mcp.json):
{
"mcpServers": {
"anysearch": {
"type": "sse",
"url": "http://localhost:8000/sse"
}
}
}
Windsurf (~/.codeium/windsurf/mcp_config.json):
{
"mcpServers": {
"anysearch": {
"serverUrl": "http://localhost:8000/sse"
}
}
}
The SSE proxy must remain running while the agent is active. Consider running it as a background service.
| Agent | Transport | Config Location | Needs Proxy? | Proxy Tool | |-------|-----------|------