Tema
Catálogo de tools
33 en total, agrupadas por dominio. Todas devuelven JSON.
Para conectar un cliente, ver MCP Server.
RAG
| Tool | Argumentos | Qué hace |
|---|---|---|
list_rags | — | Los RAGs accesibles: id, nombre, identifier, estado, ficheros procesados y número de vectores |
search_rag | identifier, semantic_search[], top_k, use_reranking, candidate_multiplier, similarity_threshold, include_duplicates, use_all_files, selected_files[], selected_folders[] | Búsqueda semántica en los documentos indexados: devuelve los N fragmentos más relevantes con su score de similitud, y reranking si el RAG tiene reranker |
list_rag_files | identifier, page, limit | Los ficheros indexados, ordenados por ruta, con estado, tamaño, tipo y error de indexación si lo hubo |
Agentes
| Tool | Argumentos | Qué hace |
|---|---|---|
list_agents | page, limit | Los agentes: id, nombre, identifier, modelo, tools vinculadas y número de conversaciones |
get_agent | id | Detalle de uno: system prompt, secciones de prompt, modelo, tools y áreas de conocimiento |
update_agent_prompt | id, system_prompt, prompt_mode, prompt_sections[] | Cambia el system prompt — en modo simple por texto, en advanced por secciones |
list_agent_conversations | agent_id, channel, since, until, page, limit | Los hilos del agente, con filtro por canal y rango de fechas; cada fila trae messageCount, extracto y si fue bloqueado |
list_agent_knowledge_areas | agent_id | Las áreas de conocimiento del agente |
add_agent_knowledge_area | agent_id, excerpt, content, active | Añade un área nueva |
link_tool_instance_to_agent | agent_id, tool_instance_id | Vincula una instancia de tool ya creada (no desvincula las anteriores) |
Tools de agente
| Tool | Argumentos | Qué hace |
|---|---|---|
list_tool_instances | scopes[], page, limit | Las instancias configuradas (function-calling nativo): plantilla de origen y en cuántas inferencias/agentes se usan |
update_tool_instance_description | id, description | Cambia la descripción de una instancia |
File sources
| Tool | Argumentos | Qué hace |
|---|---|---|
list_file_sources | — | Los orígenes de ficheros: proveedor, estado, totales, patrones de exclusión y frecuencia de escaneo |
Seguridad
Cuatro capas independientes. Una frase que pase una puede caer en otra, y cada capa tiene su list_*, su add_*/update_* y su test_*.
Palabras prohibidas — coincidencia literal, con detección leet y fuzzy opcionales.
| Tool | Argumentos | Qué hace |
|---|---|---|
list_forbidden_word_categories | — | Las categorías, con su número de palabras |
create_forbidden_word_category | name | Crea una categoría (falla si el nombre ya existe) |
list_forbidden_words | category_id, active, page, limit | Las palabras/frases, con sus flags leet/fuzzy |
add_forbidden_words | phrases[], category_id, leet_detection, fuzzy_detection | Alta masiva con los mismos flags. No deduplica |
update_forbidden_word | id, phrase, category_id, leet_detection, fuzzy_detection, active | Modifica una |
update_forbidden_words_bulk | ids[], category_id, leet_detection, fuzzy_detection, active | El mismo cambio a varias de una vez |
test_forbidden_words | text | Prueba un texto: por línea, qué palabras matchean y si fue exacto, leet o fuzzy |
Safe phrases — si el mensaje completo normaliza igual a una de ellas, se salta el resto del firewall.
| Tool | Argumentos | Qué hace |
|---|---|---|
list_safe_phrases | page, limit | Las frases seguras activas |
add_safe_phrases | phrases[] | Alta masiva. No deduplica |
test_safe_phrases | text | Comprueba si un texto coincide con alguna |
Firewall semántico — embeddings en Qdrant y umbral de similitud coseno por categoría.
| Tool | Argumentos | Qué hace |
|---|---|---|
list_firewall_categories | — | Las categorías, con su threshold y número de frases |
create_firewall_category | name, threshold | Crea una categoría |
update_firewall_category | id, name, threshold | La renombra y/o ajusta su threshold |
list_firewall_phrases | category_id, active, page, limit | Las frases de ejemplo, y si ya tienen embedding indexado |
add_firewall_phrases | phrases[], category_id | Alta masiva; las indexa sola si hay modelo de embeddings configurado |
reindex_firewall_phrases | scope | Reindexado manual: pending solo las que no tienen embedding, all recrea la colección (necesario tras cambiar de modelo) |
test_firewall | text | Vectoriza un texto, busca las frases más similares y las evalúa contra el threshold de su categoría |
Entropía — detecta payloads ofuscados (racha hexadecimal, entropía de Shannon, ratio de leet).
| Tool | Argumentos | Qué hace |
|---|---|---|
list_entropy_strategies | — | Las estrategias, activadas o no, con sus umbrales |
update_entropy_strategy | id, enabled, config | Activa/desactiva una y ajusta sus umbrales |
test_entropy_strategy | text | Ejecuta todas las estrategias (activadas o no, para calibrar) y devuelve sus métricas |
Convenciones
Los listados que crecen paginan siempre. La respuesta de una tool va literalmente al contexto del modelo, así que nada que crezca con el uso se devuelve entero: esas tools aceptan page y limit (50 por defecto, 100 máximo) y responden { data, total, page, limit }. El total es lo que le dice al modelo si le quedan páginas. Los catálogos acotados —categorías, estrategias, RAGs, file sources— no paginan.
Cada tool declara si escribe. El catálogo publica las annotations de MCP (readOnlyHint, destructiveHint, idempotentHint), derivadas del verbo del nombre:
| Verbo | Escribe | |
|---|---|---|
list_ · get_ · search_ · test_ | no | los test_* solo evalúan un texto contra la configuración vigente |
add_ · create_ · link_ | sí | solo añaden |
update_ · reindex_ | sí | sobrescriben lo que hubiera |
Un cliente puede usar esas pistas para ejecutar las de lectura sin preguntar y pedirte confirmación solo en las que escriben. Son pistas de UI, no permisos: la autorización la sigue aplicando el servidor.