{
  "markdown": "# Groundlink MCP Server\n\nUse Groundlink's cited web-search results from any Model Context Protocol (MCP)\nhost. The server exposes one focused tool, `groundlink_search`, which sends a\nquery to Groundlink and returns source-bearing results (`title`, `url`,\n`snippet`, and `source`) for the model to use when it needs evidence rather\nthan a guess.\n\nGroundlink currently combines Wikipedia and DuckDuckGo results. Each Groundlink\nAPI key includes **100 free test queries**; after that, prepaid usage is\n**$0.001 per query** (one credit per query).\n\n> **Package:** [`groundlink-mcp@0.1.1`](https://www.npmjs.com/package/groundlink-mcp) is published on npm.\n> **Source:** https://github.com/ohhavefun/groundlink\n\n- Live API documentation: https://9ea69cec60fa01f65bbb647a092bcbb4.ctonew.app/docs\n- Pricing and credits: https://9ea69cec60fa01f65bbb647a092bcbb4.ctonew.app/pricing\n\nThis repository is the home of Groundlink's **official developer integrations**.\nThere are two, both maintained here:\n\n| Integration | What it is | Install |\n| --- | --- | --- |\n| **groundlink-mcp** (MCP server) | Exposes Groundlink to any MCP host (Claude, Cursor, …) | `npm install -g groundlink-mcp` (also on the [official MCP registry](https://registry.modelcontextprotocol.io) as `io.github.ohhavefun/groundlink`) |\n| **langchain-groundlink** (Python/LangChain) | A `GroundlinkSearchTool` for Python agents | `pip install \"langchain-groundlink @ git+https://github.com/ohhavefun/groundlink#subdirectory=langchain-groundlink\"` |\n\nBoth use the same free trial keys (100 queries) from the Groundlink onboarding,\nthen prepaid usage at $0.001/query.\n## Where Groundlink is listed\n[![Listed on mcpservers.org](https://mcpservers.org/badge.svg)](https://mcpservers.org/servers/ohhavefun/groundlink)\n\n\n---\n\n## langchain-groundlink (Python / LangChain)\n\nUse Groundlink's cited search from any Python agent or `BaseTool` pipeline.\nThe tool returns source-bearing results (`title`, `url`, `snippet`, `source`)\nso your agent answers from evidence and can cite it.\n\n**Install from GitHub** (the package is intentionally not on PyPI):\n\n```bash\npip install \"langchain-groundlink @ git+https://github.com/ohhavefun/groundlink#subdirectory=langchain-groundlink\"\n```\n\n**Quick usage (10 seconds):** get a free key from\n[the docs](https://9ea69cec60fa01f65bbb647a092bcbb4.ctonew.app/docs), then:\n\n```python\nfrom langchain_groundlink import GroundlinkSearchTool\n\ntool = GroundlinkSearchTool(api_key=\"glk_your_trial_key\")  # or export GROUNDLINK_API_KEY\nresult = tool.invoke({\"query\": \"Who was Ada Lovelace?\"})\nprint(result)\n```\n\nFull usage, configuration, and error handling are in\n[`langchain-groundlink/README.md`](langchain-groundlink/README.md).\n\n---\n\n## Groundlink MCP Server\n\nUse Groundlink's cited web-search results from any Model Context Protocol (MCP)\nhost below.\n\n| Field | Value |\n| --- | --- |\n| Tool name | `groundlink_search` |\n| Input | `{ query: string, max_results?: number }` |\n| `max_results` | 1–10; default 5 (or `GROUNDLINK_MAX_RESULTS`) |\n| Output | JSON: `{ query, results: [{ title, url, snippet, source }], meta }` |\n\nUse it for factual questions where the host should return URLs/sources with its\nanswer. The MCP server is deliberately thin: it forwards the query to the\nGroundlink HTTPS API and returns the API response over MCP **stdio**.\n\n## Install and run\n\nYou need a Groundlink API key (`glk_...`). Ask the Groundlink operator for one\nor obtain one through the Groundlink onboarding flow.\n\n```bash\nnpm install -g groundlink-mcp\nexport GROUNDLINK_API_KEY=glk_your_key_here\ngroundlink-mcp\n```\n\nAlternatively, an MCP host can execute the package without a global install:\n\n```bash\nnpx -y groundlink-mcp\n```\n\nThe process uses stdio; it does not open an HTTP port or print normal output to\nstdout. MCP hosts should launch it rather than running it interactively.\n\n### Configuration\n\n| Variable | Required | Default | Meaning |\n| --- | --- | --- | --- |\n| `GROUNDLINK_API_KEY` | Yes | — | API key used for every Groundlink request. |\n| `GROUNDLINK_BASE_URL` | No | Groundlink live URL | Override only for a compatible deployment. |\n| `GROUNDLINK_MAX_RESULTS` | No | `5` | Default results per tool call; capped at `10`. |\n\n## Claude Desktop configuration\n\nAdd this entry to Claude Desktop's MCP configuration file\nand restart Claude Desktop. Keep the API key private: do not commit it to a\nrepository or share the configuration file.\n\n```json\n{\n  \"mcpServers\": {\n    \"groundlink\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"groundlink-mcp\"],\n      \"env\": {\n        \"GROUNDLINK_API_KEY\": \"glk_your_key_here\"\n      }\n    }\n  }\n}\n```\n\nIf the package is installed globally, use `\"command\": \"groundlink-mcp\"` and\nomit `args`. For hosts that need an absolute executable path, point `command`\nat the installed `groundlink-mcp` binary.\n\n## What happens on errors\n\n- Missing `GROUNDLINK_API_KEY`: the server exits at startup with a clear setup\n  error.\n- API key rejected (401): returned to the MCP host as a tool error; correct the\n  key rather than retrying.\n- No remaining free or prepaid credits (402): returned as a tool error; fund\n  the key before another search.\n- Search-source outage (502): returned as a tool error; a short retry may help.\n\n## Marketplace description\n\n**Groundlink — cited web search for MCP.** Give Claude, Cursor, and other MCP\nhosts one `groundlink_search` tool that returns source-bearing results instead\nof unsupported factual guesses. Every key starts with 100 free tests, then\nusage is $0.001 per query through prepaid credits.\n\n## Development and release checks\n\n```bash\nbun install\nbun run typecheck\nbun run build             # emits executable dist/index.js\nbun run test              # MCP stdio smoke test\nnpm run pack:check        # inspect the npm tarball without publishing\n```\n\nThe npm package intentionally ships only the compiled `dist/` runtime, this\nREADME, and npm's required package metadata. Source and smoke tests stay out of\nthe tarball.\n",
  "bytes": 5971,
  "sha": "16d63b21ffbdda51e0874a3d73074e3536759f458bb0381b498239418e140dca",
  "repo_slug": "ohhavefun/groundlink",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_ohhavefun_groundlink_08911562/readme"
}