Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
find_referencesA

Find who depends on one entity: direct callers, importers and references, one row each with id, name, kind, file and the lines it references from. Call it for one hop. For a whole chain, use trace_data_flow.

get_context_packA

Assemble a token-bounded bundle from one entity, several entities, or a plain-language question: focal bodies plus dependency signatures and connecting routes. Call it instead of several get_entity_source and traversal reads.

get_entity_sourceA

Return one entity's exact graph-owned body by id. Call it when you hold an id and need the real source text, not a snippet.

graph_neighborhoodA

Get what one entity depends on and what depends on it, to a depth you choose, as summaries with ids. Call it to orient in unfamiliar code. Use find_references for callers only, trace_data_flow for an ordered path.

impact_analysisA

Walk the graph from a change to every entity it could affect. Target it one way at a time: entity_ids, file paths, base and head change ids, or change_ids. Call it before editing, across the whole repository.

kin_artifact_listA

List the repository's tracked files at one semantic change, code and non-code alike: Dockerfiles, lockfiles, configuration, assets, symlinks. Call it for what the repository contains, not what the parsers turned into entities.

kin_artifact_readA

Read one tracked file's exact content by artifact_id or repo-relative path: text when valid UTF-8, else base64. Call it for a file the parsers made no entities for, which a locate hit's artifact_path means.

kin_graph_statusA

The graph this call is answered from: entity and relation counts, and how many are embedded, pending or unindexed. Call it when a search returns less than you expect. sampling=last_settled_selected_graph means the last settled reading, aged in stale.

kin_mutateA

Atomically validate and commit a batch of graph mutations in a single call. Automatically manages transaction begin, validation, and commit. Provide an operations array with mutation verb and payload.

kin_provenance_queryA

Answer who changed an entity and whether it was approved: change count, latest change, approvals on it, a page of changes newest first, and recent audit events. Call it before relying on code whose history matters.

kin_session_endA

Close this session and release what it holds. Call it when your work is done.

kin_session_heartbeatA

Keep this session alive. Call it periodically during long work so the session does not lapse at its idle TTL.

kin_session_startA

Register this agent with Kin and get a session_id: who you are, your transport, working directory and capabilities. Call it once at the start of your work, before any transaction, so activity is attributed.

kin_transaction_abortA

Abandon an open transaction and discard everything staged on it. Call it when you decide against a change, or to start clean after a refusal. Refused once kin_transaction_commit has fenced it.

kin_transaction_beginA

Open a transaction to stage mutations onto. Returns a transaction_id; nothing lands until kin_transaction_commit.

kin_transaction_commitA

Publish every staged mutation atomically: the daemon reparses the final bytes and journals the semantic change, the workspace tree and the ref together. All of it lands or none does. Re-sending a fenced commit is safe.

kin_transaction_stageA

Stage mutations onto an open transaction. Four verbs: 'create' admits a file the graph has never seen, 'update' changes an entity, 'delete' retires one, 'rename' moves one. An 'update' replaces the whole body; read it first with get_entity_source.

list_file_entitiesA

List every entity the graph holds for one file, by repo-relative path. The only retrieval tool that says what it left out: it returns the whole set and reports whether it is complete. Call it before concluding a file holds nothing.

semantic_locateA

Find code by a plain-language question, ranked from the graph. Call it when you know what the code does but not its name. Returns id, name, kind, file, line, signature, score. Read ranked_by. Know the exact name? Use semantic_search.

semantic_searchA

Filter declarations by name, kind or language: functions, methods, classes, structs, traits, enums, types, constants. Call it when you know what the thing is called. It matches names, not meaning. For a description, use semantic_locate.

trace_data_flowA

Walk the call chain out from ONE entity and get the whole path back, as ordered steps. Give a focal, a direction and a depth. It walks call and import edges, not values through variables. Naming TWO things? Use trace_path.

trace_pathA

Find how one entity reaches another, as ordered hops. Call it when your question names TWO things. from and to take a name, an id, or name@file. Read found and gap before concluding A never reaches B. One endpoint? Use trace_data_flow.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.8/5.0

Scored across 22 tools

Disambiguation4/5

The traversal tools (find_references, graph_neighborhood, trace_data_flow, trace_path) and the search pair (semantic_search vs semantic_locate) are explicitly cross-referenced and distinguished by their descriptions, which is excellent. However the mutation surface overlaps: kin_mutate ('atomically validate and commit a batch') appears to duplicate what kin_transaction_begin/stage/commit do, and no description reconciles the two paths, creating a misselection risk.

Naming Consistency3/5

All names use snake_case and mostly follow verb_noun (find_references, list_file_entities, trace_data_flow), which is readable. But the kin_ prefix is applied inconsistently—about half the tools carry it (kin_session_start, kin_transaction_begin, kin_mutate) and half do not (get_entity_source, impact_analysis, semantic_locate)—and a few are bare noun phrases (impact_analysis, graph_neighborhood), breaking the pattern.

Tool Count3/5

At 22 tools the surface is on the heavy side of the 16-25 range for a single code-graph server. Much of the count is justified by genuinely distinct concerns (search, retrieval, tracing, sessions, transactions, artifacts), but the coexistence of both kin_mutate and the four-tool transaction family suggests a redundant mutation pathway that inflates the count.

Completeness4/5

Coverage is broad and lifecycle-complete: search, retrieval, traversal, impact analysis, provenance, atomic mutations with create/update/delete/rename, plus session and graph-status introspection leave few obvious dead ends. Minor gaps remain around review/approval workflows and multi-endpoint tracing beyond single-source walks, but core workflows are covered.

Maintenance

ActivityActive
ResponsivenessUnresponsive