{"data":{"slug":"u14app-deep-research","name":"deep-research","tagline":"Use any LLMs for Deep Research with SSE API and MCP server","github_url":"https://github.com/u14app/deep-research","owner":"u14app","repo":"deep-research","owner_avatar_url":"https://avatars.githubusercontent.com/u/190910900?v=4","primary_language":"JavaScript","stars":4688,"forks":1062,"topics":["anthropic","deep-research","deep-research-api","deepresearch","deepseek","gemini","grok","mcp-server","ollama","openai"],"archived":false,"github_pushed_at":"2026-06-18T14:43:29+00:00","maintenance_label":"Slowing","stars_delta_30d":2,"url":"https://www.graphcanon.com/tools/u14app-deep-research","markdown_url":"https://www.graphcanon.com/tools/u14app-deep-research.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/u14app-deep-research","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=u14app-deep-research","description":"Use any LLMs (Large Language Models) for Deep Research. Support SSE API and MCP server.","homepage_url":"https://research.u14.app","license":"MIT","open_issues":39,"watchers":34,"ai_summary":"A JavaScript-based repository to support the integration of various Large Language Models for deep research projects through an API interface that includes SSE (Server-Sent Events) and MCP (Model Control Protocol). It supports setups via local development servers, Docker containers, and static deployment.","readme_excerpt":"### Installation\n\n1. **Clone the repository:**\n\n   ```bash\n   git clone https://github.com/u14app/deep-research.git\n   cd deep-research\n   ```\n\n2. **Install dependencies:**\n\n   ```bash\n   pnpm install  # or npm install or yarn install\n   ```\n\n3. **Set up Environment Variables:**\n\n   You need to modify the file `env.tpl` to `.env`, or create a `.env` file and write the variables to this file.\n\n   ```bash\n   # For Development\n   cp env.tpl .env.local\n   # For Production\n   cp env.tpl .env\n   ```\n\n4. **Run the development server:**\n\n   ```bash\n   pnpm dev  # or npm run dev or yarn dev\n   ```\n\n   Open your browser and visit [http://localhost:3000](http://localhost:3000) to access Deep Research.\n\n---\n\n### Docker\n\n> The Docker version needs to be 20 or above, otherwise it will prompt that the image cannot be found.\n\n> ⚠️ Note: Most of the time, the docker version will lag behind the latest version by 1 to 2 days, so the \"update exists\" prompt will continue to appear after deployment, which is normal.\n\n```bash\ndocker pull xiangfa/deep-research:latest\ndocker run -d --name deep-research -p 3333:3000 xiangfa/deep-research\n```\n\nYou can also specify additional environment variables:\n\n```bash\ndocker run -d --name deep-research \\\n   -p 3333:3000 \\\n   -e ACCESS_PASSWORD=your-password \\\n   -e GOOGLE_GENERATIVE_AI_API_KEY=AIzaSy... \\\n   xiangfa/deep-research\n```\n\nor build your own docker image:\n\n```bash\ndocker build -t deep-research .\ndocker run -d --name deep-research -p 3333:3000 deep-research\n```\n\nIf you need to specify other environment variables, please add `-e key=value` to the above command to specify it.\n\nDeploy using `docker-compose.yml`:\n\n```bash\nversion: '3.9'\nservices:\n   deep-research:\n      image: xiangfa/deep-research\n      container_name: deep-research\n      environment:\n         - ACCESS_PASSWORD=your-password\n         - GOOGLE_GENERATIVE_AI_API_KEY=AIzaSy...\n      ports:\n         - 3333:3000\n```\n\nor build your own docker compose:\n\n```bash\ndocker compose -f docker-compose.yml build\n```\n\n---\n\n### Static Deployment\n\nYou can also build a static page version directly, and then upload all files in the `out` directory to any website service that supports static pages, such as Github Page, Cloudflare, Vercel, etc..\n\n```bash\npnpm build:export\n```\n\n---\n\n## 📝 License\n\nDeep Research is released under the [MIT License](LICENSE). This license allows for free use, modification, and distribution for both commercial and non-commercial purposes.","github_created_at":"2025-02-22T03:29:07+00:00","created_at":"2026-07-15T11:03:52.718011+00:00","updated_at":"2026-09-20T05:13:14.899369+00:00","categories":[{"slug":"inference-serving","name":"Inference & Serving","url":"https://www.graphcanon.com/categories/inference-serving","markdown_url":"https://www.graphcanon.com/categories/inference-serving.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/inference-serving"},{"slug":"llm-frameworks","name":"LLM Frameworks","url":"https://www.graphcanon.com/categories/llm-frameworks","markdown_url":"https://www.graphcanon.com/categories/llm-frameworks.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/llm-frameworks"}],"tags":[{"slug":"anthropic","name":"anthropic"},{"slug":"deep-research-api","name":"deep-research-api"},{"slug":"gemini","name":"gemini"},{"slug":"grok","name":"grok"},{"slug":"mcp-server","name":"mcp-server"},{"slug":"ollama","name":"ollama"},{"slug":"openai","name":"openai"}],"trust":{"provenance":{"is_fork":false,"github_id":936974548,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-09-20T05:13:12.634Z","maintenance":{"label":"Slowing","score":36,"methodology":"github_public_v1","releases_90d":0,"days_since_push":93,"last_release_at":"2026-02-10T09:20:42Z","stars_delta_30d":2,"open_issues_delta_30d":3},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-08-30T04:01:33.421Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"mcp":{"source":"repo_scan","observed_at":"2026-09-20T05:13:13.664Z","server_manifest":false},"scan":{"source":"repo_scan","observed_at":"2026-09-20T05:13:13.664Z"},"deploy":{"source":"dockerfile:Dockerfile","self_host":true,"observed_at":"2026-09-20T05:13:13.664Z","managed_saas":false},"has_cli":{"value":true,"source":"package.json:bin|scripts","observed_at":"2026-09-20T05:13:13.664Z"},"languages":{"value":["javascript","typescript"],"source":"github.language+package.json","observed_at":"2026-09-20T05:13:13.664Z"},"has_docker":{"value":true,"source":"dockerfile:Dockerfile","observed_at":"2026-09-20T05:13:13.664Z"},"license_spdx":{"value":"MIT","source":"github.license","observed_at":"2026-09-20T05:13:13.664Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":null,"constraints":null,"when_to_use":["- When requiring an API interface that supports Server-Sent Events (SSE) and Model Control Protocol (MCP) for integrating large language models","- For developers needing setup flexibility, including local development servers, Docker containers, or static deployment options","- If you need to rapidly prototype research ideas using multiple AI backends supported by SSE and MCP"],"when_not_to_use":["- When working with environments that do not support JavaScript, as Deep Research is primarily built on this language","- For projects that require real-time bidirectional communication with models, as Deep Research might only provide unidirectional data flow through SSE"],"source":"enrich:decision_facts","observed_at":"2026-07-17T11:53:24.902Z"},"constraint_facets":null,"decision_summary":[{"label":"Adopt for","value":"Deep Research is a JavaScript-based framework enabling integration of various Large Language Models for deep research projects using SSE and MCP."}]}}