{
  "project_id": "ThreatRecall/zettelforge",
  "repo": "ThreatRecall/zettelforge",
  "name": "zettelforge",
  "github_url": "https://github.com/ThreatRecall/zettelforge",
  "homepage_url": "https://docs.threatrecall.ai/",
  "language": "Python",
  "license": "MIT",
  "project_kind": "project",
  "category": [
    "mcp_server"
  ],
  "tags": [
    "agentic-memory",
    "ai-agent",
    "claude-code",
    "cti",
    "cybersecurity",
    "knowledge-graph",
    "langchain",
    "llm",
    "llm-memory",
    "mcp",
    "mcp-server",
    "mitre-attack",
    "osint",
    "python",
    "rag",
    "soc-automation",
    "stix",
    "threat-hunting",
    "threat-intelligence",
    "zettelkasten"
  ],
  "description": "Agentic memory for CTI in Python — STIX knowledge graphs, threat-actor alias resolution, offline-first RAG, MCP server for Claude Code and LangChain agents",
  "overview": "Use ThreatRecall/zettelforge when the user needs a mcp server project with docker, library_only, local deployment options.",
  "alternatives": [],
  "related": [
    {
      "repo": "the-open-agent/openagent",
      "reason": "Related to ThreatRecall/zettelforge through mcp server category and docker deployment."
    },
    {
      "repo": "heymrun/heym",
      "reason": "Related to ThreatRecall/zettelforge through mcp server category and docker deployment."
    },
    {
      "repo": "googleapis/mcp-toolbox",
      "reason": "Related to ThreatRecall/zettelforge through mcp server category and docker deployment."
    },
    {
      "repo": "rush-db/rushdb",
      "reason": "Related to ThreatRecall/zettelforge through mcp server category and docker deployment."
    },
    {
      "repo": "freddy-schuetz/n8n-claw",
      "reason": "Related to ThreatRecall/zettelforge through mcp server category and docker deployment."
    },
    {
      "repo": "trpc-group/trpc-agent-go",
      "reason": "Related to ThreatRecall/zettelforge through mcp server category and docker deployment."
    },
    {
      "repo": "fdueblab/Micro-Agent",
      "reason": "Related to ThreatRecall/zettelforge through mcp server category and docker deployment."
    },
    {
      "repo": "achiya-automation/safari-mcp",
      "reason": "Related to ThreatRecall/zettelforge through mcp server category and docker deployment."
    }
  ],
  "dependencies": [
    "MCP",
    "Vector database",
    "LLM provider"
  ],
  "deployments": [
    "docker",
    "library_only",
    "local",
    "cloud"
  ],
  "difficulty": "beginner",
  "cloudflare_ready": false,
  "use_cases": [
    "connect agents to tools",
    "expose APIs through MCP",
    "bootstrap MCP integrations"
  ],
  "not_good_for": [
    "edge-only Cloudflare Workers deployment without adaptation",
    "users expecting a complete hosted product"
  ],
  "classification": {
    "category": {
      "confidence": "high",
      "evidence": [
        "Matched \"mcp server\" in metadata.",
        "Matched \"mcp\" in metadata."
      ]
    },
    "deployment": {
      "confidence": "high",
      "evidence": [
        "Found Docker configuration file.",
        "Matched \"pip install\" in repository content.",
        "Local usage is assumed for open source repositories unless contradicted."
      ]
    },
    "difficulty": {
      "confidence": "medium",
      "evidence": [
        "Repository has under 10k stars, so complexity is treated conservatively."
      ]
    },
    "cloudflare_ready": {
      "confidence": "high",
      "evidence": [
        "Runtime blocker: python.",
        "No Cloudflare deployment signal detected."
      ]
    }
  },
  "quality_signals": {
    "stars": 53,
    "recent_commits": 28,
    "contributors": 7,
    "issue_response_time_hours": null,
    "release_frequency_180d": 16
  },
  "quality_signal_confidence": {
    "stars_30d_delta": "estimated",
    "commits_30d": "complete",
    "releases_180d": "complete",
    "contributors_90d": "complete"
  },
  "quality_score": 24,
  "agent_score": 64,
  "score": 78,
  "agent_score_breakdown": {
    "documentation": 90,
    "maintenance": 47,
    "deployment": 90,
    "popularity": 34,
    "community": 52
  },
  "git_top_score": 78,
  "git_top_score_breakdown": {
    "community": 80,
    "maintenance": 64,
    "documentation": 92,
    "stability": 100,
    "adoption": 47,
    "agent_readability": 90
  },
  "summary": {
    "tl_dr": "Use ThreatRecall/zettelforge when the user needs a mcp server project with docker, library_only, local deployment options.",
    "purpose": "Use ThreatRecall/zettelforge when the user needs a mcp server project with docker, library_only, local deployment options.",
    "install": "Run with Docker using the repository's container instructions.",
    "inputs": [
      "tool definitions",
      "resource config",
      "transport settings"
    ],
    "outputs": [
      "MCP tools",
      "JSON-RPC responses",
      "server capabilities"
    ],
    "good_for": [
      "connect agents to tools",
      "expose APIs through MCP",
      "bootstrap MCP integrations",
      "agent tool exposure",
      "MCP integrations",
      "tool servers"
    ],
    "not_good_for": [
      "edge-only Cloudflare Workers deployment without adaptation",
      "users expecting a complete hosted product",
      "front-end apps",
      "non-tooling backends"
    ],
    "deployment": [
      "docker",
      "library_only",
      "local",
      "cloud"
    ],
    "alternatives": []
  },
  "evidence": {
    "classification": {
      "category": {
        "confidence": "high",
        "evidence": [
          "Matched \"mcp server\" in metadata.",
          "Matched \"mcp\" in metadata."
        ]
      },
      "deployment": {
        "confidence": "high",
        "evidence": [
          "Found Docker configuration file.",
          "Matched \"pip install\" in repository content.",
          "Local usage is assumed for open source repositories unless contradicted."
        ]
      },
      "difficulty": {
        "confidence": "medium",
        "evidence": [
          "Repository has under 10k stars, so complexity is treated conservatively."
        ]
      },
      "cloudflare_ready": {
        "confidence": "high",
        "evidence": [
          "Runtime blocker: python.",
          "No Cloudflare deployment signal detected."
        ]
      }
    },
    "quality_signal_confidence": {
      "stars_30d_delta": "estimated",
      "commits_30d": "complete",
      "releases_180d": "complete",
      "contributors_90d": "complete"
    },
    "source_fields": [
      "project.description",
      "project.topics",
      "project.language",
      "project.license",
      "agent_card.summary_for_agent",
      "agent_card.use_cases",
      "agent_card.deployment",
      "agent_card.classification",
      "metrics"
    ],
    "caveats": [
      "edge-only Cloudflare Workers deployment without adaptation",
      "users expecting a complete hosted product",
      "Partial or estimated quality signals: stars30dDelta."
    ],
    "confidence_reason": "Classification evidence and quality signals are strong enough for shortlist reasoning when metadata is current.",
    "last_verified_at": "2026-07-07T21:00:56.866Z"
  },
  "caveats": [
    "edge-only Cloudflare Workers deployment without adaptation",
    "users expecting a complete hosted product",
    "Partial or estimated quality signals: stars30dDelta."
  ],
  "confidence_reason": "Classification evidence and quality signals are strong enough for shortlist reasoning when metadata is current.",
  "source_fields": [
    "project.description",
    "project.topics",
    "project.language",
    "project.license",
    "agent_card.summary_for_agent",
    "agent_card.use_cases",
    "agent_card.deployment",
    "agent_card.classification",
    "metrics"
  ],
  "last_verified_at": "2026-07-07T21:00:56.866Z",
  "knowledge": {
    "project": {
      "id": "ThreatRecall/zettelforge",
      "owner": "ThreatRecall",
      "name": "zettelforge",
      "full_name": "ThreatRecall/zettelforge",
      "github_url": "https://github.com/ThreatRecall/zettelforge",
      "homepage_url": "https://docs.threatrecall.ai/",
      "description": "Agentic memory for CTI in Python — STIX knowledge graphs, threat-actor alias resolution, offline-first RAG, MCP server for Claude Code and LangChain agents",
      "language": "Python",
      "topics": [
        "agentic-memory",
        "ai-agent",
        "claude-code",
        "cti",
        "cybersecurity",
        "knowledge-graph",
        "langchain",
        "llm",
        "llm-memory",
        "mcp",
        "mcp-server",
        "mitre-attack",
        "osint",
        "python",
        "rag",
        "soc-automation",
        "stix",
        "threat-hunting",
        "threat-intelligence",
        "zettelkasten"
      ],
      "license": "MIT",
      "stars": 53,
      "forks": 8,
      "open_issues": 7,
      "default_branch": "master",
      "created_at": "2026-04-06T20:26:58Z",
      "updated_at": "2026-07-07T20:28:35Z",
      "pushed_at": "2026-07-07T20:28:51Z",
      "synced_at": "2026-07-07T21:00:56.866Z"
    },
    "agent_card": {
      "project_id": "ThreatRecall/zettelforge",
      "project_kind": "project",
      "category": "mcp_server",
      "difficulty": "beginner",
      "deployment": [
        "docker",
        "library_only",
        "local",
        "cloud"
      ],
      "cloudflare_ready": false,
      "use_cases": [
        "connect agents to tools",
        "expose APIs through MCP",
        "bootstrap MCP integrations"
      ],
      "not_good_for": [
        "edge-only Cloudflare Workers deployment without adaptation",
        "users expecting a complete hosted product"
      ],
      "alternatives": [],
      "summary_for_agent": "Use ThreatRecall/zettelforge when the user needs a mcp server project with docker, library_only, local deployment options.",
      "classification": {
        "category": {
          "confidence": "high",
          "evidence": [
            "Matched \"mcp server\" in metadata.",
            "Matched \"mcp\" in metadata."
          ]
        },
        "deployment": {
          "confidence": "high",
          "evidence": [
            "Found Docker configuration file.",
            "Matched \"pip install\" in repository content.",
            "Local usage is assumed for open source repositories unless contradicted."
          ]
        },
        "difficulty": {
          "confidence": "medium",
          "evidence": [
            "Repository has under 10k stars, so complexity is treated conservatively."
          ]
        },
        "cloudflare_ready": {
          "confidence": "high",
          "evidence": [
            "Runtime blocker: python.",
            "No Cloudflare deployment signal detected."
          ]
        }
      },
      "schema_version": "v1",
      "generated_at": "2026-07-07T21:00:56.866Z"
    },
    "metrics": {
      "project_id": "ThreatRecall/zettelforge",
      "stars_30d_delta": 17,
      "commits_30d": 28,
      "releases_180d": 16,
      "contributors_90d": 7,
      "issue_first_response_median_hours": null,
      "recent_push_days": 0,
      "git_score": 24,
      "maintenance_score": 47,
      "signal_confidence": {
        "stars_30d_delta": "estimated",
        "commits_30d": "complete",
        "releases_180d": "complete",
        "contributors_90d": "complete"
      },
      "calculated_at": "2026-07-07T21:00:56.866Z"
    }
  },
  "resolved_from": {
    "requested_id": "ThreatRecall/zettelforge",
    "resolved_id": "ThreatRecall/zettelforge",
    "resolution": "direct"
  },
  "metadata": {
    "source": "d1",
    "reason": "d1_query",
    "project_count": 878,
    "generated_at": "2026-07-09T01:18:20.090Z",
    "loaded_project_limit": 2000,
    "truncated": false
  }
}