Hokmah
Server Details
AI Agent with Architectural Memory. Impact analysis (free), tests and code from the graph (pro).
- Status
- Healthy
- Uptime
- 100.0% over 58 days
- Last Tested
- Transport
- Streamable HTTP ยท MCP 2025-11-25
- URL
- Repository
- davidangularme/hokmah-mcp-server
- GitHub Stars
- 0
- Server Listing
- Hokmah MCP Server
TDQS
Scored across 2 tools
The two tools have clearly distinct roles: one imports/indexes a repository, the other analyzes a described code change against an imported repository. Their descriptions make the dependency and intended use obvious, leaving little room for misselection.
Both names use the hokmah_ prefix and snake_case, which is consistent and readable. However, hokmah_analyze is a bare verb while hokmah_connect_project follows a verb_noun pattern, a minor deviation from a strict convention.
Two tools is thin for a server, but they map directly to the minimal import-then-analyze workflow. The narrow scope keeps it from feeling padded, though it remains borderline per the rubric for 1-2 tool surfaces.
The core pipeline is covered: import a public repository and analyze a change against it. Missing lifecycle operations include listing imported projects, refreshing an already-imported repository, and deleting stale projects, which limits longer-term use.
Available Tools
2 toolshokmah_analyzeAnalyze Change ImpactARead-onlyIdempotentInspect
Estimates the impact of a described code change on an imported public GitHub repository.
repo_url is https://github.com// and query describes the change in plain
language; branch is accepted for compatibility, the analysis uses the history imported
from the default branch. Returns a risk assessment with the files, symbols and modules likely
to be affected and related commits, computed from the repository graph without a language model.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| branch | No | main | |
| repo_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful behavior beyond that: the analysis is computed from the repository graph 'without a language model', it uses history from the default branch regardless of `branch`, and it names the shape of the output (risk assessment).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with what the tool does and why it matters, and every sentence carries information (purpose, params, output, computation model). The parameter sentence is somewhat crammed, mixing URL format, query semantics and the branch caveat into one long clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter read-only analysis tool with an output schema and full annotation coverage, this is complete: input formats, the ignored `branch` caveat, the non-LLM computation, and the kind of result returned are all stated. Nothing needed to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter burden and does: `repo_url` format is given as https://github.com/<owner>/<repository>, `query` is plain-language description of the change, and `branch` is explained as accepted for compatibility only with the default branch used in practice. That is exactly the non-obvious semantics an agent needs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (estimates impact) and resource (a described code change on an already-imported GitHub repository), stated in the first sentence. The 'imported' qualifier implicitly separates it from the sibling hokmah_connect_project, which is what would bring the repository in.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The prerequisite that the repository must already be imported is implied but hokmah_connect_project is never named, and there is no explicit 'use this when / not when'. Usage is inferable from context rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hokmah_connect_projectImport Public GitHub RepositoryAIdempotentInspect
Imports a public GitHub repository so it can be analyzed: indexes its source files
(.py .js .ts .jsx .tsx .rs .go .java) and its latest commits (up to 500) from the default
branch into a dependency and change-history graph. repo_url is
https://github.com//; branch is accepted for compatibility. A repository
already imported is not imported again. Returns the project id and the number of commits and
files ingested.
| Name | Required | Description | Default |
|---|---|---|---|
| branch | No | main | |
| repo_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, and openWorldHint=true, so the agent knows this mutates state, is repeatable, and reaches an external service. The description adds useful behavior beyond that: the exact indexing scope (file extensions, commit cap of 500, default branch only) and the idempotency semantics in concrete terms. It doesn't state auth requirements or error/rate-limit behavior, which keeps it at 4.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, front-loaded with the core action and outcome, followed by parameter notes and the idempotency rule. Every sentence adds information; the only slight redundancy is mentioning both the file indexing and the return summary of files/commits, which is acceptable. No padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with openWorldHint and idempotency covered by annotations plus description, two parameters fully explained despite zero schema coverage, and an output schema that handles return value documentation. The description covers what the agent needs to call it correctly, except for auth/rate-limit expectations on a tool that reaches GitHub.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must carry parameter meaning. It does this well: it specifies the exact repo_url format (https://github.com/<owner>/<repository>) and explains that branch is accepted only for compatibility and ignored in favor of the default branch. The one gap is that the schema's default value of 'main' for branch isn't reconciled with the description's claim that the default branch is used, which could confuse an agent about what branch actually controls.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (imports) + resource (public GitHub repository) + explicit scope: what gets indexed (source files by extension, latest commits up to 500 from the default branch). This level of detail lets an agent distinguish it from hokmah_analyze, which presumably operates on an already-imported project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the when-to-use condition clear: you import first so the repo 'can be analyzed'. It also gives a re-use rule ('A repository already imported is not imported again'), which prevents unnecessary calls. It stops short of explicitly naming hokmah_analyze as the downstream step, so it's not a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- Removed
hokmah_connect_mcp - Removed
hokmah_generate_code - Removed
hokmah_generate_tests
5 tool updates
- First observed
hokmah_analyze - First observed
hokmah_connect_mcp - First observed
hokmah_connect_project - First observed
hokmah_generate_code - First observed
hokmah_generate_tests
Related MCP Connectors
Code intelligence platform for AI agents. 20 tools for architecture, security & impact analysis.
Codebase graphs, caller impact analysis, and recorded project context for AI coding agents.
Codebase intelligence for AI agents โ dead code, blast radius, ownership.
Shared project memory for AI coding agents: decisions, lessons, risks and tasks in one graph.
Related MCP Servers
- AlicenseAqualityAmaintenanceProvides AI coding agents with durable architecture memory for repositories by generating structured project maps of responsibilities, relationships, and risks.628 npm1MIT
- AlicenseBqualityFmaintenanceMemory for AI coding agents. Persistent code graph + AI architecture diagrams. 32 MCP tools3249 npm6MIT
- AlicenseNot gradedqualityAmaintenanceProvides persistent architectural memory and structural cognition for AI coding agents, enabling efficient orientation, graph-aware context, and drift detection across codebase evolution.1,691 npm320MIT
- AlicenseAqualityDmaintenanceEnables AI to analyze, query, and manage a graph-based representation of software architecture for impact analysis, dependency tracking, and design.208 npm1AGPL 3.0
Glama MCP Gateway
Add one secure layer between your agents and this server.