A Model Context Protocol server for OpenCTI threat intelligence platform integration
OpenCTI MCP server has 16 tools with complete input schemas and basic descriptions, but critical gaps undermine quality. All descriptions are in Chinese (non-English), which violates LLM optimization baselines. Descriptions average ~25 chars, well below the 194-char baseline for A+ tools. No output schemas documented. Parameter descriptions are minimal (e.g., 'search keyword' for query param). No error handling guidance, no recovery paths, no actionable error messages. Tools lack composition guidance, no chaining IDs returned, no pagination metadata. Security: OPENCTI_TOKEN exposed in Dockerfile ENV example (hardcoded placeholder). No tool annotations (readOnlyHint present in metadata but not in schema). Naming is verb-noun compliant (get_, search_, list_) but descriptions do not explain WHEN to use each tool or what distinguishes similar tools (e.g., search_indicators vs search_malware vs search_threat_actors).
根據名稱獲取行動資訊
根據ID獲取檔案資訊
獲取最新的OpenCTI報告
根據ID獲取OpenCTI報告
根據ID獲取使用者資訊
列出所有攻擊模式
列出所有連接器
All tool descriptions are in Chinese (non-English) and extremely brief (~20-30 chars). LLMs are optimized for English descriptions of 50-200 chars. Chinese descriptions reduce LLM comprehension and violate baseline standards.
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields. OpenCTIResponse interface exists in code but is not exposed in tool definitions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
列出所有檔案
列出所有群組
列出所有標籤
列出所有標記定義
列出所有狀態模板
列出所有使用者
搜尋OpenCTI中的指標
搜尋OpenCTI中的惡意程式
搜尋OpenCTI中的威脅行為者
No error handling guidance. CallToolRequestSchema handler does not catch exceptions or return actionable error messages. Agents receive raw errors with no recovery path.
Dockerfile exposes OPENCTI_TOKEN as a hardcoded ENV placeholder. Credentials must never appear in Dockerfiles or tool parameters. Use secret injection via environment variables only.
List tools (list_users, list_groups, list_files, etc.) lack pagination parameters (limit, offset, cursor). No total count or next_cursor returned. Large result sets will blow context windows.