Enhanciar — company brain

Ask your team's code, Slack and docs from any MCP client. Every answer cited to source. Early access

使うべきか

品質と安全性

A
説明の品質
100%
スキーマの完全性
57%
命名の品質
97%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~2,451トークン数(ツール定義)
~774 B一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 1.91%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "enhanciar": {
      "url": "https://enhanciar.in/enhanciar/mcp/"
    }
  }
}

リモートエンドポイント

https://enhanciar.in/enhanciar/mcp/streamable-http

できること

ツール一覧

ツール(12)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢list_pages

List every wiki page the caller can see in the key's workspace. Returns a list of ``{category, name, title}`` records — feed each one to ``get_page`` to fetch the full markdown body. Use this first when you want a directory view; for a specific question prefer ``query`` which handles retrieval for you.

入力スキーマ

{
  "type": "object",
  "properties": {},
  "title": "list_pagesArguments"
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "result": {
      "items": {
        "additionalProperties": {
          "type": "string"
        },
        "type": "object"
      },
      "title": "Result",
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "title": "list_pagesOutput"
}
🟢search_wiki(query, limit)

Substring search across the wiki pages in the key's workspace. Cheap and deterministic — no embedding required. Returns up to ``limit`` (default 20, max 50) ``{category, name, title, snippet}`` hits. The ``snippet`` is a short window around the first match, safe to surface in chat as a citation preview. For semantic / natural-language questions prefer ``query``.

入力スキーマ

{
  "type": "object",
  "properties": {
    "query": {
      "title": "Query",
      "type": "string"
    },
    "limit": {
      "default": 20,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "query"
  ],
  "title": "search_wikiArguments"
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "result": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Result",
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "title": "search_wikiOutput"
}
🟢get_page(category, name)

Fetch a single wiki page from the key's workspace. Args: category: One of ``entities | concepts | people | decisions | sources | flows | infrastructure | tickets``. name: Page slug (without ``.md`` extension), as returned by ``list_pages`` / ``search_wiki``. Returns ``{category, name, content}`` — ``content`` is the full markdown body including YAML frontmatter. Returns ``{error: "..."}`` if the page doesn't exist.

入力スキーマ

{
  "type": "object",
  "properties": {
    "category": {
      "title": "Category",
      "type": "string"
    },
    "name": {
      "title": "Name",
      "type": "string"
    }
  },
  "required": [
    "category",
    "name"
  ],
  "title": "get_pageArguments"
}

出力スキーマ

{
  "type": "object",
  "additionalProperties": true,
  "title": "get_pageDictOutput"
}
🟡query(question, model)

Ask Enhanciar a natural-language question grounded in the key's workspace. This is the high-level tool — use it for any "what does X do", "why did we choose Y", "where is Z handled" question. It runs the full retrieval + synthesis pipeline and returns the answer plus citations. Args: question: Natural-language question. model: Optional model id override (``gemini-2.5-flash``, ``gpt-4o``, ``claude-sonnet-4-5``, etc.). If omitted the saved default is used — the workspace's in a team workspace, the caller's own in a personal one. Returns ``{answer, sources, model}`` — ``sources`` is a list of ``{category, name, url}`` citations the LLM grounded its answer in. Surface them to the human so they can verify. When the workspace has nothing ingested at all you get ``{answer, empty_brain: true}`` and no sources: that is a statement about the workspace, not a failed search, so rephrasing the question will not change it.

入力スキーマ

{
  "type": "object",
  "properties": {
    "question": {
      "title": "Question",
      "type": "string"
    },
    "model": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Model"
    }
  },
  "required": [
    "question"
  ],
  "title": "queryArguments"
}

出力スキーマ

{
  "type": "object",
  "additionalProperties": true,
  "title": "queryDictOutput"
}
🟡impact(target, depth)

Compute the blast radius of changing ``target`` in the key's workspace. Use this before editing code to see what a change ripples into: direct callers/callees, every affected file, the affected tests, the transitive dependency set, and example dependency paths with per-path facts (hops, dependents at the endpoint, whether it lands in a test). There is deliberately no risk score. There was one — thresholds on the transitive count — and it was a verdict the caller could not check or argue with. The counts it was computed from are all here; judge from those. Args: target: A graph node id, wiki page name, file path (``micrograd/engine.py``), or a function fqn (``engine.py::func``). depth: How many hops to traverse the call graph (default 2). Returns the impact dict — ``{target, label, found, direct_callers, direct_callees, affected_files, affected_tests, transitive_nodes, transitive_count, paths, path_facts}``.

入力スキーマ

{
  "type": "object",
  "properties": {
    "target": {
      "title": "Target",
      "type": "string"
    },
    "depth": {
      "default": 2,
      "title": "Depth",
      "type": "integer"
    }
  },
  "required": [
    "target"
  ],
  "title": "impactArguments"
}

出力スキーマ

{
  "type": "object",
  "additionalProperties": true,
  "title": "impactDictOutput"
}
🟢get_graph

Return the community/knowledge graph manifest for visualisation. Useful when the calling agent wants the high-level structure of the key's workspace (clusters, hub nodes, cross-references) rather than the contents of any one page. Returns ``{nodes, edges, communities, stats}`` — exact shape mirrors the ``/api/wiki/graph`` REST endpoint.

入力スキーマ

{
  "type": "object",
  "properties": {},
  "title": "get_graphArguments"
}

出力スキーマ

{
  "type": "object",
  "additionalProperties": true,
  "title": "get_graphDictOutput"
}
🟢list_repos

List the repos ingested into the key's workspace. Returns ``{full_name, branch, last_ingested_at}`` records. Use this when the agent needs to know what context is available before asking a question. Reads what ingest actually recorded for this namespace: ``repos.json`` (the repo→clone map every other read path resolves through) plus the per-repo ``_state`` files that carry the branch and the last run's timestamp. It used to read a Firestore subcollection ``users/{uid}/repos``, which was wrong twice over. It was keyed by the person rather than the workspace — the bug this module was fixed for — and nothing in the codebase has ever written to that path, so the tool returned an empty list to everyone, forever. Hence ``branch`` rather than the old ``default_branch``: the state file records the branch that was actually ingested, and no caller can be depending on a key that never had a row under it.

入力スキーマ

{
  "type": "object",
  "properties": {},
  "title": "list_reposArguments"
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "result": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Result",
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "title": "list_reposOutput"
}
🟢list_skills

List the compiled skills (recurring procedures) in the key's workspace. Skills are agent-executable SKILL.md pages mined from that workspace's wiki by the skills compiler. Returns ``{name, title, description, confidence, last_compiled, sources}`` records — feed a ``name`` to ``get_skill`` for the full markdown. Empty list = nothing compiled yet (the user can run a compile from Enhanciar's UI or API).

入力スキーマ

{
  "type": "object",
  "properties": {},
  "title": "list_skillsArguments"
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "result": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Result",
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "title": "list_skillsOutput"
}
🟢get_skill(name)

Fetch one compiled skill by name (slug from ``list_skills``). Returns ``{name, markdown, meta}`` — ``markdown`` is the full agent-executable SKILL.md content (frontmatter + steps), ``meta`` is the parsed frontmatter. Includes an ``error`` key when the skill doesn't exist (with the available names).

入力スキーマ

{
  "type": "object",
  "properties": {
    "name": {
      "title": "Name",
      "type": "string"
    }
  },
  "required": [
    "name"
  ],
  "title": "get_skillArguments"
}

出力スキーマ

{
  "type": "object",
  "additionalProperties": true,
  "title": "get_skillDictOutput"
}
🟢get_process_map

Return the "living map of how the company works" for the key's workspace. A graph of process nodes (compiled skills), the external systems they touch (GitHub, Slack, Jira, …), the wiki docs they were derived from, and team groups — with derived_from / uses / references edges. Use this when the agent wants the high-level operational structure rather than one skill's steps.

入力スキーマ

{
  "type": "object",
  "properties": {},
  "title": "get_process_mapArguments"
}

出力スキーマ

{
  "type": "object",
  "additionalProperties": true,
  "title": "get_process_mapDictOutput"
}
🟢list_proposed_actions(status)

List the key's workspace's proposed actions (the approval queue). Read-only. Optionally filter by ``status`` (proposed / approved / executing / done / failed / dismissed). Returns ``{id, action_type, status, source, title, source_doc_id, external_id}`` per proposal. NOTE: MCP can read and PROPOSE actions but deliberately cannot approve or execute them — a human approves every action in the app UI.

入力スキーマ

{
  "type": "object",
  "properties": {
    "status": {
      "default": "",
      "title": "Status",
      "type": "string"
    }
  },
  "title": "list_proposed_actionsArguments"
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "result": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Result",
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "title": "list_proposed_actionsOutput"
}
⚪propose_action(action_type, title, description, evidence)

Propose a new action for human approval (does NOT execute it). ``action_type`` is a registered executor id (e.g. ``jira.create_issue``, ``linear.create_issue``, ``github.create_issue``). The proposal lands in the key's workspace's approval queue where a person picks the target and approves it — approve/execute are intentionally NOT exposed over MCP. Returns the created ``{id, action_type, status}`` or an ``error``.

入力スキーマ

{
  "type": "object",
  "properties": {
    "action_type": {
      "title": "Action Type",
      "type": "string"
    },
    "title": {
      "title": "Title",
      "type": "string"
    },
    "description": {
      "default": "",
      "title": "Description",
      "type": "string"
    },
    "evidence": {
      "default": "",
      "title": "Evidence",
      "type": "string"
    }
  },
  "required": [
    "action_type",
    "title"
  ],
  "title": "propose_actionArguments"
}

出力スキーマ

{
  "type": "object",
  "additionalProperties": true,
  "title": "propose_actionDictOutput"
}

推奨プロンプト

fetch_info
Fetch [information type] using Enhanciar — company brain
想定されるツール: get_page
search_research
Search for information about [topic] using Enhanciar — company brain
想定されるツール: search_wiki
retrieve_data
Get details about [item] from Enhanciar — company brain
想定されるツール: get_page
find_specific
Find [specific item] using Enhanciar — company brain
想定されるツール: search_wiki
list_items
List all [items] available in Enhanciar — company brain
想定されるツール: list_pages

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 12 件
検証済みバージョンは記録されていませんツール 12 件