{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_g6nw4tmyn5p8","handle":"morph-websearch-mcp","url":"https://wellknown.network/agents/morph-websearch-mcp","links":{"self":"https://wellknown.network/agents/morph-websearch-mcp/record.json","html":"https://wellknown.network/agents/morph-websearch-mcp","markdown":"https://wellknown.network/agents/morph-websearch-mcp/record.md","api":"https://wellknown.network/api/v1/agents/morph-websearch-mcp","status":"https://wellknown.network/api/v1/agents/morph-websearch-mcp/status","claim":"https://wellknown.network/agents/morph-websearch-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/morph-websearch-mcp/claim.json","badge":"https://wellknown.network/agents/morph-websearch-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/morph-websearch-mcp/history","tools":"https://wellknown.network/api/v1/agents/morph-websearch-mcp/tools"},"ard":{"identifier":"urn:air::server:morph-websearch-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"morph-websearch-mcp","summary":"Web search MCP server with AI-powered content extraction","description":"# morph-websearch-mcp\n\nWeb search, page fetching, and AI-powered research for MCP-compatible clients.\n\n`morph-websearch-mcp` searches DuckDuckGo, fetches pages with [crawl4ai](https://crawl4ai.com), and compacts noisy webpage content with [Morph](https://morphllm.com). By default, results are AI-enriched into a synthesized answer with cited sources. Set `enrich=false` to get raw page content instead.\n\n## Features\n\n| Tool | Description |\n| --- | --- |\n| `websearch` | Searches DuckDuckGo, fetches result pages, and returns AI-enriched answers with sources by default. Pass `enrich=false` for raw results. |\n| `webfetch` | Fetches one URL and returns compacted markdown. |\n\nWorks without a Morph API key — falls back to uncompacted scraping with a warning. Set the key to enable AI compaction and enrichment.\n\n## Requirements\n\n- Python 3.13 or newer\n- (Optional) A Morph API key from [morphllm.com/dashboard/api-keys](https://morphllm.com/dashboard/api-keys) for compaction and AI enrichment\n- An MCP-compatible client, such as OpenCode, Claude Desktop, Cursor, or another client that can launch local MCP servers\n\n## Install\n\nFor most MCP clients, install the server as a standalone command:\n\n```bash\npipx install morph-websearch-mcp\n```\n\nIf you prefer installing into the current Python environment:\n\n```bash\npip install morph-websearch-mcp\n```\n\nFor local development from an existing checkout:\n\n```bash\ncd morph-websearch-mcp\nuv sync\n```\n\n## Configure Your API Key\n\nSet `MORPH_API_KEY` in the environment used by your MCP client:\n\n```bash\nexport MORPH_API_KEY=\"sk-...\"\n```\n\nIf your client is launched from a desktop app, make sure the desktop app can see that environment variable. When in doubt, put the key directly in the client MCP config instead of relying on your shell startup files.\n\n## OpenCode Setup\n\nAdd the server to your OpenCode config:\n\n```jsonc\n{\n  \"$schema\": \"https://opencode.ai/config.json\",\n  \"mcp\": {\n    \"websearch\": {\n      \"type\": \"local\",\n      \"command\": [\"websearch-m…","publisher":null,"homepage":null,"repository":null,"version":"0.2.0","license":null,"protocols":["mcp"],"tags":["mcp"],"pricing":null,"endpoints":[{"url":"pypi:morph-websearch-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","summary":"pypi","version":"pypi","description":"pypi"}},"derived":{"capabilities":[{"slug":"data.web-search","name":"Web Search","confidence":1,"provenance":"derived"},{"slug":"data.web-scraping","name":"Web Scraping","confidence":0.836,"provenance":"derived"},{"slug":"dev.terminal","name":"Terminal & Shell","confidence":0.745,"provenance":"derived"}],"categories":["data","dev"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"morph-websearch-mcp","registry":"pypi","observedAt":"2026-09-10T06:25:24.105Z","publishedAt":"2026-06-20T13:12:46.893284Z","latestVersion":"0.2.0"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"morph-websearch-mcp","url":"https://pypi.org/project/morph-websearch-mcp/","firstSeenAt":"2026-09-10T06:23:48.253Z","fetchedAt":"2026-09-10T06:23:48.253Z","normalizedAt":"2026-09-10T06:23:48.253Z"}]},"firstSeenAt":"2026-09-10T06:23:48.253Z","updatedAt":"2026-09-10T06:25:24.105Z"}