Skip to main content
Glama

archaeology

Trace the commit, author, and pull request that introduced a symbol or line range using git blame, so coding agents can explain code history and ownership.

Instructions

代码考古:git blame 定位符号/行区间的引入 commit、作者贡献度与 PR 关联

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "target": "<target>"
    },
    "name": "archaeology"
  }
}

Input Schema

NameRequiredDescriptionDefault
targetYes符号名,或 path:start-end / path:line

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It does disclose the outputs (introducing commit, author contribution, PR association), which implies a read-only git-history operation, but never states it is non-mutating, does not mention auth or rate limits, and says nothing about behavior when the symbol is not found or spans multiple commits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One compact sentence with the core action and the three output facets front-loaded, no filler. Very terse, but every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, and the description sketches the return facets (commit, contributions, PR) without describing shape, granularity, or limits. For a single-param read tool this is largely adequate but leaves the agent guessing about result size and failure cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Single required parameter with 100% schema coverage; the schema already documents both accepted forms (symbol name or path:start-end / path:line). The description adds no format details beyond that, so the baseline 3 for full coverage is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: git blame to locate the introducing commit, author contributions, and PR association for a symbol/line range. The metaphor 'archaeology' is unpacked so the agent knows exactly what it does, though no sibling (e.g. trace, hotspots) is named for contrast.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied — an agent infers this is for 'who/when introduced this code' questions. There is no explicit when-to-use, when-not, or pointer to a sibling such as trace or who_calls for related historical questions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.