Enhanciar — company brain

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

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
55%
Calidad de los nombres
97%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,473Tokens (definiciones de herramientas)
~802 BTamaño de respuesta típico
Impacto moderado en la atención (1.93% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

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

Puntos de conexión remotos

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

Qué puede hacer

Inventario de herramientas

Herramientas (12)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢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.

Esquema de entrada

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

Esquema de salida

{
  "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``.

Esquema de entrada

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

Esquema de salida

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

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "category": {
      "default": "",
      "title": "Category"
    },
    "name": {
      "default": "",
      "title": "Name"
    },
    "path": {
      "default": "",
      "title": "Path"
    },
    "slug": {
      "default": "",
      "title": "Slug"
    },
    "page": {
      "default": "",
      "title": "Page"
    },
    "title": {
      "default": "",
      "title": "Title"
    }
  },
  "title": "get_pageArguments"
}

Esquema de salida

{
  "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.

Esquema de entrada

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

Esquema de salida

{
  "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}``.

Esquema de entrada

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

Esquema de salida

{
  "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.

Esquema de entrada

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

Esquema de salida

{
  "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.

Esquema de entrada

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

Esquema de salida

{
  "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).

Esquema de entrada

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

Esquema de salida

{
  "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).

Esquema de entrada

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

Esquema de salida

{
  "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.

Esquema de entrada

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

Esquema de salida

{
  "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.

Esquema de entrada

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

Esquema de salida

{
  "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``.

Esquema de entrada

{
  "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"
}

Esquema de salida

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

Prompts recomendados

fetch_info
Fetch [information type] using Enhanciar — company brain
Herramientas esperadas: get_page
search_research
Search for information about [topic] using Enhanciar — company brain
Herramientas esperadas: search_wiki
retrieve_data
Get details about [item] from Enhanciar — company brain
Herramientas esperadas: get_page
find_specific
Find [specific item] using Enhanciar — company brain
Herramientas esperadas: search_wiki
list_items
List all [items] available in Enhanciar — company brain
Herramientas esperadas: list_pages

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada12 herramientas
verificadoversión no registrada12 herramientas
verificadoversión no registrada12 herramientas