# Reported issues for kibi-mcp

Pod holds 18 of 18 GitHub reports that passed its relevance review. This can include external user reports, maintainer-confirmed bugs, and concrete feature gaps. Treat them as evidence to inspect, not a count of distinct defects.

Back to [kibi-mcp](/mcp/kibi-mcp).

## Most discussed

### Kibi MCP/CLI attach and symbols regressions: local repro on installed 0.1.x stack, latest npm MCP/CLI are 0.2.0

## Summary
I’m seeing a cluster of regressions in the current Kibi MCP stack that look related but are easiest to track as three concrete bugs:

1. repeated KB attach in one live Prolog process is not idempotent and fails with `No permission to modify static procedure \`kb:entity/4\``
2. `kb_symbols_refresh` ignores `.kb/config.json` `paths.symbols` and falls back to repo-root `symbols.yaml`
3. at least one Prolog load path rejects `load_files(...,[module(kb),silent(true)])` with `Unknown…

[Read the thread](https://github.com/Looted/kibi/issues/53) · 2026-03-11 · closed · 4 comments

### `bun build --packages bundle` bakes absolute build-machine paths into `packages/runtime/dist/index.js`, breaking ts-morph at install time

## Summary

`packages/runtime`'s build step:

```
bun build src/index.ts --outfile dist/index.js --target node --format esm --packages bundle --external kibi-core
```

bundles `@ts-morph/common` (a transitive dependency, likely via the TS symbol extractor) into `dist/index.js`. When bun bundles it, it inlines `__filename`/`__dirname` as **literal string constants pointing at the build machine's absolute path**, e.g.:

```js
var __dirname =…

[Read the thread](https://github.com/Looted/kibi/issues/266) · 2026-09-21 · closed · external user · 2 comments

### --diagnostic-mode appears ignored by kibi-mcp; no query usage log is produced

## Description

When \`kibi-mcp\` is launched with \`--diagnostic-mode\` from OpenCode, no \`usage.log\` is created under \`.kb\`, even though MCP queries are definitely executed successfully.

## Reproduction

1. Configure OpenCode with a local Kibi MCP server, for example:

   \`\`\`json
   {
     "mcp": {
       "kibi": {
         "type": "local",
         "command": [
           "node",
           "node_modules/kibi-mcp/bin/kibi-mcp",
           "--diagnostic-mode"
         ],…

[Read the thread](https://github.com/Looted/kibi/issues/97) · 2026-03-21 · closed · 2 comments

### kb_graph only honors the first relationship type in relationships[]

## Summary

`kb_graph` appears to honor only the first entry in `relationships[]`. Multi-type traversals return the edge count for the first relationship type, and reversing the order changes the result.

## Environment

- kibi-mcp 0.4.0
- kibi-core 0.1.10
- Node v20.19.6
- Linux

## Reproduction

1. Seed `REQ-LINKEDIN-SHARE` has 1 `specified_by` edge and 2 `verified_by` edges.
2. `kb_graph` with `relationships=["specified_by"]`, `direction="outgoing"`, `depth=1` returns 1 edge.
3. `kb_graph`…

[Read the thread](https://github.com/Looted/kibi/issues/113) · 2026-03-24 · closed · 1 comment

### kb_upsert rejects properties.sourceFile for symbol entities

## Summary

`kb_upsert` rejects `properties.sourceFile` for `symbol` entities with `Entity validation failed: root: must NOT have additional properties`.

## Environment

- kibi-mcp 0.4.0
- kibi-core 0.1.10
- Node v20.19.6
- Linux

## Reproduction

1. Call `kb_upsert` for `type="symbol"` with this payload:

```json
{
  "type": "symbol",
  "id": "SYMBOL-999",
  "properties": {
    "title": "TempSymbolForSourceFileValidation",
    "status": "active",
    "source": "tmp",
    "sourceFile":…

[Read the thread](https://github.com/Looted/kibi/issues/114) · 2026-03-24 · closed · 1 comment

### Kibi MCP 0.2.1: kb_upsert/kb_delete report success but state is not persisted; id queries diverge from type=req listings

## Summary
Fresh retest after dependency bump shows a new high-severity consistency issue: mutation tools (`kb_upsert`, `kb_delete`) often report success, but state is not persisted as expected. In the same session, `kb_query` by `id` and `kb_query` by `type=req` can see different worlds.

This is a **new issue** separate from the earlier timeout/attach instability tracking.

## Environment
- `kibi-mcp@0.2.1`
- `kibi-cli@0.2.2`
- `kibi-core@0.1.7`
- Node `v20.19.6`
- SWI-Prolog `9.2.9`
- MCP…

[Read the thread](https://github.com/Looted/kibi/issues/58) · 2026-03-12 · closed · 1 comment

### Known issues: pre-existing isolated-core test failures and honest proof gaps

Found during the proof-diagnostics remediation (#262). None of these block that PR; they're documented with reproduction and the work each needs.

## 1. Pre-existing unit-test failures: mcp isolated-core fixture (4 tests)

`bun run test` on `db07d8f7` **and** on current branches fails the same 4 tests (906 pass / 4 fail):

- `kb_graph canonical traceability chain traversal > traverses canonical chain: requirement → scenario → test`
- `kb_graph canonical traceability chain traversal >…

[Read the thread](https://github.com/Looted/kibi/issues/263) · 2026-09-18 · closed · 0 comments

### Bug: aggregate check intermittently fails loading kb.pl after branch-store sync

## Summary

On a newly attached branch store, the first aggregate `kibi check` can intermittently
fail while loading `checks.pl`/`kb.pl`. The error is truncated at the source coordinate,
so the underlying Prolog diagnostic is missing. A retry against the unchanged store
passes.

This is separate from #236, #237 and #240.

## Versions

- `kibi-cli`: 1.0.1
- `kibi-core`: 0.11.0
- `kibi-mcp`: 1.0.0
- SWI-Prolog: 10.0
- Linux, Node 26.8.2, pnpm 10.33.2

## Observed sequence

1. Start from a healthy…

[Read the thread](https://github.com/Looted/kibi/issues/241) · 2026-09-14 · closed · 0 comments

## Most recent

### Bug: staged check reports no files when all staged paths use unsupported extensions

## Summary

`kibi check --staged` prints `No staged files found.` and exits successfully when Git
has staged files but every staged path uses an extension outside Kibi's JS/TS/entity
allowlist. This makes a non-empty staged change look like an empty Git index and hides
the fact that validation skipped the change.

This is separate from #236 and #237.

## Versions

- `kibi-cli`: 1.0.1
- `kibi-core`: 0.11.0
- Linux, Node 26.8.2, pnpm 10.33.2

## Reproduction

In a seeded, attached Kibi workspace:…

[Read the thread](https://github.com/Looted/kibi/issues/240) · 2026-09-14 · closed · 0 comments

### MCP kb_skills_load / kb_skills_read return confirmation strings only — skill content never delivered

## Summary

The MCP tools `kb_skills_load` and `kb_skills_read` do not return skill content. They return a single human-readable status line (`Loaded bundled skill …` / `Read bundled skill resource …`) and drop the manifest metadata, Markdown body, resource content, and content hash that their tool contracts promise. The CLI peers (`kibi skills load` / `kibi skills read`) return the full content, so the bug is isolated to the MCP surface.

This breaks progressive disclosure for MCP-only agents:…

[Read the thread](https://github.com/Looted/kibi/issues/219) · 2026-08-21 · closed · 0 comments

### Cursor plugin MCP cwd is the plugin install dir, so npx --no-install kibi-mcp misses consumer projects

# Handoff: Cursor plugin MCP cwd (kibi-cursor)

Date: 2026-08-20
From: Align dogfood (`kibi-cursor` 0.6.3, `kibi-mcp` 0.24.0)
Upstream: https://github.com/Looted/kibi
Package: `packages/cursor` (`kibi-cursor`)
Severity: plugin MCP is broken for ordinary Cursor consumers, not only Align

## Request

Do not treat this as an Align-specific dogfood shim. The published plugin
`mcp.json` (`npx --no-install kibi-mcp`) fails whenever Cursor starts the
plugin MCP server with cwd = the plugin install…

[Read the thread](https://github.com/Looted/kibi/issues/217) · 2026-08-20 · closed · 0 comments

### kb_graph, kb_coverage, kb_find_gaps MCP tools fail: discovery.pl module load error

## Summary

The `kb_graph`, `kb_coverage`, and `kb_find_gaps` MCP tools all fail with a Prolog module load error for `discovery.pl`. The equivalent CLI command (`kibi graph`) works correctly, indicating the bug is MCP-specific (likely a file path resolution issue in kibi-mcp's Prolog wrapper).

## Versions

- kibi-cli: 0.4.0
- kibi-mcp: 0.5.0
- SWI-Prolog: 10.0
- Node.js: v22
- Platform: Linux (WSL2)

## Steps to Reproduce

1. Have a valid `.kb/` with entities and relationships (passes `kibi…

[Read the thread](https://github.com/Looted/kibi/issues/118) · 2026-03-27 · closed · 0 comments

### MCP kb_check and CLI kibi check disagree on symbol-traceability violations

## Summary
For the same repository state, MCP `kb_check` reports `symbol-traceability` clean while CLI `kibi check` still reports multiple `symbol-traceability` violations.

## Expected behavior
MCP `kb_check` and CLI `kibi check` should agree on whether symbol traceability passes for a given branch KB state.

## Actual behavior
- MCP: `kb_check({ rules: ["symbol-traceability"] })` returns no violations
- CLI: `kibi check` reports 8 `symbol-traceability` violations

## Reproduction
1. Upsert…

[Read the thread](https://github.com/Looted/kibi/issues/88) · 2026-03-18 · closed · 0 comments

### kb_upsert partially writes entity before failing relationship assertion

## Summary
`kb_upsert` appears to be non-transactional when called with an entity plus relationships. If relationship assertion fails, the tool returns an error but still persists the entity.

## Expected behavior
Either:
- the entire upsert succeeds, including relationships, or
- nothing is written if any relationship assertion fails

## Actual behavior
The entity is created, then the tool fails while asserting a relationship.

## Reproduction
1. Call `kb_upsert` for a new entity and include a…

[Read the thread](https://github.com/Looted/kibi/issues/87) · 2026-03-18 · closed · 0 comments

### MCP kb_upsert rejects valid entity-specific statuses on update

## Summary
The MCP `kb_upsert` tool appears to validate `properties.status` against a generic enum instead of the entity-specific status values documented by Kibi.

In practice, valid statuses like `open` for `req` are rejected on update, even though existing entities with those statuses already exist and query correctly.

## Environment
- Kibi CLI: `0.2.5`
- `kibi doctor`: all checks passed
- Observed via MCP `kb_upsert`

## Expected behavior
`kb_upsert` should accept status values based on…

[Read the thread](https://github.com/Looted/kibi/issues/86) · 2026-03-18 · closed · 0 comments

### MCP kb_query is inconsistent across id/tag/source/type filters after kb_upsert

## Summary

`kb_query` returns inconsistent results for entities created via `kb_upsert`.

In the same MCP session:

- `kb_upsert` succeeds
- `kb_query` by `id` may work for some entities and fail for others
- `kb_query` by `tags` may return no results for fresh entities
- `kb_query` by `sourceFile` returns no results for fresh entities
- `kb_query` with `type: "adr"` returns no results even when ADR entities clearly exist
- tag-based queries can return duplicate rows for the same ADR

This…

[Read the thread](https://github.com/Looted/kibi/issues/67) · 2026-03-13 · closed · 0 comments

### MCP and CLI query failures: ADR/Symbol entities not loading, title field extraction broken

## Issue Summary

Kibi MCP server (`kibi-mcp`) and CLI (`npx kibi`) are experiencing significant query failures where:
1. ADR and Symbol entity types return "No entities found" despite valid entity files
2. Title field extraction is broken across all entity types (shows "undefined" or "N/A")
3. KB validation reports false violations for missing `id` and `title` fields

## Environment

- **Kibi version**: 0.2.1 (kibi-mcp), kibi-cli v0.1.0
- **SWI-Prolog**: Version 9.2
- **OS**: Linux
- **Test…

[Read the thread](https://github.com/Looted/kibi/issues/66) · 2026-03-13 · closed · 0 comments

### Kibi MCP 0.2.1: kb_query by id times out for entities written via MCP; type filter returns wrong entity type; audit.log/RDF desync makes writes invisible

## Summary

Three interconnected bugs discovered during intensive MCP-only KB population across a multi-session agent workflow. The net effect is that **writes committed to \`audit.log\` are invisible or cause timeouts in \`kb_query\`**, making it impossible to reliably use the MCP as a write-then-read workflow.

These bugs are related to but distinct from #58 (which covers same-session mutation/read inconsistency). This issue covers a **cross-session RDF/audit.log desync** that makes *all*…

[Read the thread](https://github.com/Looted/kibi/issues/61) · 2026-03-12 · closed · 0 comments

The remaining reports are on [the project's issue tracker](https://github.com/Looted/kibi/issues).
