{"id":28866931,"url":"https://github.com/stanfrbd/mcp-cyberbro","last_synced_at":"2026-04-25T15:01:53.340Z","repository":{"id":293896844,"uuid":"985429122","full_name":"stanfrbd/mcp-cyberbro","owner":"stanfrbd","description":"Using MCP is fun with Cyberbro!","archived":false,"fork":false,"pushed_at":"2026-04-08T09:38:36.000Z","size":93,"stargazers_count":19,"open_issues_count":3,"forks_count":9,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-08T10:27:54.650Z","etag":null,"topics":["ai","cti","cyber-threat-intelligence","cybersecurity","llm","mcp","mcp-server","mcpo","openapi","python","threat-intelligence"],"latest_commit_sha":null,"homepage":"https://docs.cyberbro.net/integrations/Use-Cyberbro-MCP-for-LLM/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stanfrbd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-05-17T18:38:36.000Z","updated_at":"2026-04-08T09:38:31.000Z","dependencies_parsed_at":"2025-05-17T20:20:50.349Z","dependency_job_id":"6fd9896d-efc7-48e1-a42a-32d6e579f0fd","html_url":"https://github.com/stanfrbd/mcp-cyberbro","commit_stats":null,"previous_names":["stanfrbd/mcp-cyberbro"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/stanfrbd/mcp-cyberbro","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stanfrbd%2Fmcp-cyberbro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stanfrbd%2Fmcp-cyberbro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stanfrbd%2Fmcp-cyberbro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stanfrbd%2Fmcp-cyberbro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stanfrbd","download_url":"https://codeload.github.com/stanfrbd/mcp-cyberbro/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stanfrbd%2Fmcp-cyberbro/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32265977,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T09:15:33.318Z","status":"ssl_error","status_checked_at":"2026-04-25T09:15:31.997Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","cti","cyber-threat-intelligence","cybersecurity","llm","mcp","mcp-server","mcpo","openapi","python","threat-intelligence"],"created_at":"2025-06-20T11:40:44.649Z","updated_at":"2026-04-25T15:01:53.328Z","avatar_url":"https://github.com/stanfrbd.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- mcp-server: cyberbro | tools: 5 | resources: 0 | transport: stdio,sse,streamable-http | auth: none | framework: fastmcp --\u003e\n\u003c!-- mcp-name: io.github.stanfrbd/mcp-cyberbro --\u003e\n\n[![MseeP.ai Security Assessment Badge](https://mseep.net/pr/stanfrbd-mcp-cyberbro-badge.png)](https://mseep.ai/app/stanfrbd-mcp-cyberbro)\n\n\u003ch1 align=\"center\"\u003eCyberbro MCP Server\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/5e5a4406-99c1-47f1-a726-de176baa824c\" width=\"90\" /\u003e\u003cbr /\u003e\n\u003cb\u003e\u003ci\u003eExtract IoCs from messy text and analyze them with Cyberbro.\u003c/i\u003e\u003c/b\u003e\n\u003cbr /\u003e\n\u003cb\u003e🌐 \u003ca href=\"https://demo.cyberbro.net/\"\u003edemo.cyberbro.net\u003c/a\u003e\u003c/b\u003e\u003cbr /\u003e\n\u003c/p\u003e\n\n![mcp-cyberbro-demo](https://github.com/user-attachments/assets/99ee5538-c95a-40ca-bff5-3cdf3aa86235)\n\nModel Context Protocol server for Cyberbro.\n\nThis project is packaged as a standard Python distribution and can be launched with:\n\n- `uvx mcp-cyberbro`\n- `pip install mcp-cyberbro` then `mcp-cyberbro`\n\n## Why this server\n\n- Analyze observables (IP, domain, URL, hash, etc.) via Cyberbro engines.\n- Integrate threat-analysis actions directly in MCP-capable assistants.\n- Run with `stdio`, `sse`, or `streamable-http` transports.\n- Compatible with any MCP client that supports one of these transports.\n\n## Installation\n\n### Use with `uvx` (standalone)\n\n```bash\nuvx mcp-cyberbro --cyberbro_url http://localhost:5000\n```\n\n### Use with `pip`\n\n```bash\npip install mcp-cyberbro\nmcp-cyberbro --cyberbro_url http://localhost:5000\n```\n\n### Local development\n\n```bash\npip install -e .\nmcp-cyberbro --cyberbro_url http://localhost:5000\n```\n\n## Docker\n\nDefault container command starts in `streamable-http` mode on port `8000`.\n\n```bash\ndocker run --rm -p 8000:8000 \\\n  -e CYBERBRO_URL=http://host.docker.internal:5000 \\\n  ghcr.io/stanfrbd/mcp-cyberbro:latest\n```\n\nTo force `stdio` transport:\n\n```bash\ndocker run -i --rm \\\n  -e CYBERBRO_URL=http://host.docker.internal:5000 \\\n  ghcr.io/stanfrbd/mcp-cyberbro:latest \\\n  --transport stdio\n```\n\n## Configuration\n\nCopy `.env.example` and set at least:\n\n- `CYBERBRO_URL` (required)\n\nSupported environment variables:\n\n- `CYBERBRO_URL`\n- `API_PREFIX` (default: `api`)\n- `SSL_VERIFY` (`true`/`false`)\n- `MCP_TRANSPORT` (`stdio`, `sse`, `streamable-http`)\n- `MCP_HOST`\n- `MCP_PORT`\n- `MCP_MOUNT_PATH`\n- `MCP_SSE_PATH`\n- `MCP_STREAMABLE_HTTP_PATH`\n\nCLI flags are also available and override env values.\n\n## MCP Client Integration\n\nYou can use this server with Claude Desktop, Claude Code, Cursor, OpenAI-compatible MCP clients, or any other MCP client.\n\nExample config using `uvx`:\n\n```json\n{\n  \"mcpServers\": {\n    \"cyberbro\": {\n      \"command\": \"uvx\",\n      \"args\": [\"mcp-cyberbro\"],\n      \"env\": {\n        \"CYBERBRO_URL\": \"http://localhost:5000\"\n      }\n    }\n  }\n}\n```\n\nExample with Docker + `stdio`:\n\n```json\n{\n  \"mcpServers\": {\n    \"cyberbro\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"-i\",\n        \"--rm\",\n        \"-e\",\n        \"CYBERBRO_URL\",\n        \"ghcr.io/stanfrbd/mcp-cyberbro:latest\",\n        \"--transport\",\n        \"stdio\"\n      ],\n      \"env\": {\n        \"CYBERBRO_URL\": \"http://localhost:5000\"\n      }\n    }\n  }\n}\n```\n\n### Usage in VSCode - Example\n\nCreate `.vscode/mcp.json`  \n\n```json\n{\n\t\"servers\": {\n\t\t\"mcp-cyberbro\": {\n\t\t\t\"type\": \"stdio\",\n\t\t\t\"command\": \"uvx\",\n\t\t\t\"args\": [\n\t\t\t\t\"mcp-cyberbro\"\n\t\t\t],\n\t\t\t\"env\": {\n\t\t\t\t\"CYBERBRO_URL\": \"http://127.0.0.1:5000\"\n\t\t\t}\n\t\t}\n\t}\n}\n```\n\n## MCP Registry Metadata\n\n`server.json` is included for MCP Registry publication and points to PyPI package `mcp-cyberbro`.\n\n## Release Pipelines\n\nRelease-created workflows:\n\n- `.github/workflows/publish-test-pypi.yml`\n- `.github/workflows/publish-pypi.yml`\n- `.github/workflows/publish-mcp-plugin.yml`\n\n## Available Tools\n\n- `analyze_observable`\n- `is_analysis_complete`\n- `get_analysis_results`\n- `get_engines`\n- `get_web_url`\n\n## Example Prompts\n\nHere are practical prompt examples you can use with any MCP-capable assistant connected to Cyberbro.\n\n### Getting Indicator Details\n\n- Cyberbro: Check indicators for target.com\n- Can you check this IP reputation with Cyberbro? 192.168.1.1. Use github, google and virustotal engines.\n- I want to analyze the domain example.com. What can Cyberbro tell me about it? Use max 3 engines.\n- Analyze these observables with Cyberbro: suspicious-domain.com, 8.8.8.8, and 44d88612fea8a8f36de82e1278abb02f. Use all available engines.\n\n### Observable Analysis\n\n- I found this (hash|domain|url|ip|extension). Can you submit it for analysis to Cyberbro and analyze the results?\n\n### OSINT Investigation\n\n- Create an OSINT report for the domain example.com using Cyberbro. Use all available engines and pivot on the results for more information. Use a maximum of 10 analysis requests.\n\n## Acknowledgements\n\n- [Model Context Protocol](https://modelcontextprotocol.io)\n- [MCP Python SDK](https://github.com/modelcontextprotocol/python-sdk)\n- [Cyberbro](https://github.com/stanfrbd/cyberbro)\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstanfrbd%2Fmcp-cyberbro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstanfrbd%2Fmcp-cyberbro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstanfrbd%2Fmcp-cyberbro/lists"}