{
  "$schema": "https://static.modelcontextprotocol.io/schemas/v1/server-card.schema.json",
  "name": "io.github.superagents-lab/search1api",
  "title": "Search1API",
  "version": "0.8.0",
  "description": "Remote MCP server for Search1API. Exposes live web search, agentic search, news, page reading, sitemap discovery, and trending topics as tools for AI agents.",
  "websiteUrl": "https://s1.dev/mcp-server",
  "icons": [
    {
      "src": "https://mcp.search1api.com/assets/icon-square.png",
      "mimeType": "image/png",
      "sizes": [
        "512x512"
      ]
    }
  ],
  "remotes": [
    {
      "type": "streamable-http",
      "url": "https://mcp.search1api.com/mcp",
      "supportedProtocolVersions": [
        "2025-06-18"
      ]
    }
  ],
  "url": "https://mcp.search1api.com/mcp",
  "serverUrl": "https://mcp.search1api.com/mcp",
  "tools": [
    {
      "name": "search",
      "title": "Web search",
      "description": "Search the live public web when the user needs current information, sources, or research. Returns citable results with id, title, URL, and text. Each result includes a URL that can be read in full.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Short, focused search query"
          },
          "max_results": {
            "type": "number",
            "minimum": 1,
            "maximum": 50,
            "description": "How many sources the answer needs; a handful suits most questions, more suits a broad survey",
            "default": 10
          },
          "search_service": {
            "type": "string",
            "description": "Search engine to use; choose one only when it matches the user's source intent",
            "default": "google",
            "enum": [
              "google",
              "bing",
              "bingcn",
              "duckduckgo",
              "yahoo",
              "yandex",
              "x",
              "reddit",
              "github",
              "youtube",
              "arxiv",
              "wechat",
              "bilibili",
              "imdb",
              "wikipedia",
              "grokipedia"
            ]
          },
          "page": {
            "type": "number",
            "minimum": 1,
            "maximum": 100,
            "description": "Which page of results to fetch when the first page was not enough; only bing, bingcn, and grokipedia paginate, other engines ignore it",
            "default": 1
          },
          "crawl_results": {
            "type": "number",
            "minimum": 0,
            "description": "How many top results to also read in full, so their text holds the whole page instead of a snippet. Each successful page retrieval adds 1 credit to the base 1-credit search request",
            "default": 0
          },
          "include_sites": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Domains to include when the user explicitly scopes the search",
            "default": []
          },
          "exclude_sites": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Domains to exclude from the search",
            "default": []
          },
          "time_range": {
            "type": "string",
            "description": "Restrict results to those published recently, for time-sensitive questions; leave unset for evergreen topics",
            "enum": [
              "day",
              "week",
              "month",
              "year"
            ]
          }
        },
        "required": [
          "query"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true,
        "title": "Web search"
      }
    },
    {
      "name": "news",
      "title": "News search",
      "description": "Search current news when the user asks about recent events, announcements, or coverage. Returns citable article results with title, URL, snippet, and optional extracted text.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Short, focused news query"
          },
          "max_results": {
            "type": "number",
            "minimum": 1,
            "maximum": 50,
            "description": "How many articles the answer needs; a handful suits most questions, more suits broad coverage",
            "default": 10
          },
          "search_service": {
            "type": "string",
            "description": "News engine to use; hackernews returns Hacker News discussions instead of publisher articles",
            "default": "bing",
            "enum": [
              "google",
              "bing",
              "duckduckgo",
              "yahoo",
              "hackernews"
            ]
          },
          "crawl_results": {
            "type": "number",
            "minimum": 0,
            "description": "Number of top articles to retrieve as full pages. Each successful retrieval adds 1 credit to the base 1-credit news request",
            "default": 0
          },
          "include_sites": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "News domains to include",
            "default": []
          },
          "exclude_sites": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "News domains to exclude",
            "default": []
          },
          "time_range": {
            "type": "string",
            "description": "Only return articles published within this window; use day for breaking news",
            "enum": [
              "day",
              "week",
              "month",
              "year"
            ]
          }
        },
        "required": [
          "query"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true,
        "title": "News search"
      }
    },
    {
      "name": "crawl",
      "title": "Read a web page",
      "description": "Read a public web page supplied by the user or returned by search. Returns its title, URL, and main content as text, so you can answer from the full page instead of a snippet.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "description": "Address of the page to read, such as a link the user shared or a URL from search results"
          }
        },
        "required": [
          "url"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true,
        "title": "Read a web page"
      }
    },
    {
      "name": "sitemap",
      "title": "Discover links on a site",
      "description": "Discover related public links from a page or domain when the user wants to explore a site's structure or available pages. Returns a list of absolute URLs found on that site, which can then be read with crawl.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "description": "Public page or domain URL whose links should be discovered"
          }
        },
        "required": [
          "url"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true,
        "title": "Discover links on a site"
      }
    },
    {
      "name": "trending",
      "title": "Explore trending topics",
      "description": "List currently trending repositories or stories from GitHub or Hacker News when the user asks what is popular now. Returns each item's title, URL, and a short description when the platform provides one.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "search_service": {
            "type": "string",
            "description": "Where to look: GitHub for popular open-source repositories, Hacker News for stories developers are discussing",
            "enum": [
              "github",
              "hackernews"
            ],
            "default": "github"
          },
          "max_results": {
            "type": "number",
            "minimum": 1,
            "maximum": 50,
            "description": "How many trending items the answer needs, from the top of the list",
            "default": 10
          }
        },
        "required": [
          "search_service"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true,
        "title": "Explore trending topics"
      }
    },
    {
      "name": "ask",
      "title": "Ask across sources",
      "description": "Search several sources at once from a natural-language request when the right engine is unclear. Search1API picks up to five engines (web, Hacker News, Reddit, GitHub, X, arXiv, Wikipedia, and more) and a time window from the wording, then returns up to 10 citable results ranked by relevance, plus the intent it used and any engines that failed. Costs 5 credits per call; use search when you already know the engine.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "maxLength": 500,
            "description": "What the user is looking for, in their own words; naming a platform (\"on Reddit\", \"papers\") or a period (\"this week\") steers which engines and time window are used"
          }
        },
        "required": [
          "query"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true,
        "title": "Ask across sources"
      }
    },
    {
      "name": "render_results",
      "title": "Render the results",
      "description": "Present already retrieved source results as source cards when the host supports UI, with a complete readable text list otherwise. Use when the user wants to browse sources or a visual list helps the task. Pass existing results in the desired order; never invent source URLs or factual titles. Does not search, crawl, fetch URLs, verify sources, or consume search credits. Do not call for intermediate research results or when a text answer is sufficient.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "title": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120,
            "description": "Heading shown above the cards, such as the research topic"
          },
          "results": {
            "type": "array",
            "minItems": 0,
            "maxItems": 50,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2048,
                  "description": "The id from the original search result; the server falls back to the URL when there is none"
                },
                "title": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 300,
                  "description": "Source title exactly as the search returned it; never invent or rewrite it"
                },
                "url": {
                  "type": "string",
                  "format": "uri",
                  "pattern": "^https?://",
                  "maxLength": 2048,
                  "description": "Link to the source as the search returned it, never one carrying credentials"
                },
                "text": {
                  "type": "string",
                  "maxLength": 2000,
                  "description": "Snippet or faithful excerpt from the source, not a full page or a model-written answer"
                },
                "metadata": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Metadata from the original result, such as the publication date; never credentials or UI details"
                }
              },
              "required": [
                "title",
                "url"
              ]
            },
            "description": "Already retrieved results, in the order to display. No new search is performed."
          }
        },
        "required": [
          "results"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false,
        "idempotentHint": true,
        "title": "Render the results"
      }
    }
  ],
  "serverInfo": {
    "name": "Search1API",
    "title": "Search1API MCP",
    "version": "0.8.0",
    "icons": [
      {
        "src": "https://mcp.search1api.com/assets/icon-square.png",
        "mimeType": "image/png",
        "sizes": [
          "512x512"
        ]
      }
    ]
  },
  "protocolVersion": "2025-06-18",
  "transport": {
    "type": "streamable-http",
    "endpoint": "https://mcp.search1api.com/mcp"
  },
  "capabilities": {
    "tools": {}
  },
  "authentication": {
    "type": "oauth2",
    "protectedResourceMetadata": "https://mcp.search1api.com/.well-known/oauth-protected-resource/mcp",
    "authorizationServerMetadata": "https://clerk.s1.dev/.well-known/oauth-authorization-server",
    "legacyApiKey": {
      "supported": true,
      "method": "Authorization: Bearer SEARCH1API_KEY"
    }
  },
  "homepage": "https://s1.dev",
  "documentation": "https://s1.dev/docs",
  "instructions": "Search1API MCP exposes web search, news, crawl, sitemap, and trending tools for AI agents. OAuth 2.1 with PKCE is preferred; user-managed API keys remain supported."
}