Skip to content

Catálogo de tools ​

42 en total, agrupadas por dominio. Todas devuelven JSON.

Para conectar un cliente, ver MCP Server y Conectar un cliente.

Qué ve cada conexión lo decide lo que concediste al autorizarla. Las tools de uso —buscar en un RAG, ver un agente y leer sus conversaciones, ejecutar una inferencia, y los listados de cada uno— entran con solo conceder esa categoría, y dentro de ella solo llegan a los recursos concedidos (los listados filtran; el acceso directo a otro da 403, o 404 en las de agentes). Las que escriben un agente (su prompt, sus mensajes, sus áreas) solo existen si marcaste Permitir cambios al autorizar y administras alguno de los agentes que concediste, y cambian lo mismo que tú en el panel: en uno que solo ves responden 403 con manage_required. Las de administración (vincular tools, file sources, seguridad) solo existen si además eres administrador. Una tool que no concediste no aparece en el catálogo del cliente.

Una conexión con un access token en vez de OAuth tiene solo las de uso, las de los recursos de ese token: list_rags, search_rag, list_rag_files, list_inferences, run_inference y list_agents. Ahí list_agents va sin argumentos ni paginación (un array, no { data, total, … }) y trae de cada agente su id, nombre, identifier y los nombres de sus tools, sin el prompt.

RAG ​

ToolArgumentosQué hace
list_rags—Los RAGs accesibles: id, nombre, identifier, estado, ficheros totales y procesados, número de vectores y la file source de la que se alimentan
search_ragidentifier, semantic_search[], exact_phrase, top_k, use_reranking, candidate_multiplier, similarity_threshold, search_mode, include_duplicates, use_all_files, selected_files[], selected_folders[]Búsqueda en los documentos indexados —por significado, por palabras (BM25) o ambas, según el RAG—: devuelve los N fragmentos más relevantes con su score, y reranking si el RAG tiene reranker. similarity_threshold no aplica en un RAG solo BM25. search_mode (auto/bm25/semantic/hybrid) es una orden salvo auto: si el RAG no puede cumplirla, la búsqueda falla con un error que lo explica. Con exact_phrase (en vez de semantic_search) devuelve los fragmentos que contienen esa frase palabra por palabra, y exactPhrase.exhaustive dice si «no está» es seguro — ver Comprobar si una frase aparece. include_duplicates no cuenta con exact_phrase: la frase exacta mira siempre los duplicados
list_rag_filesidentifier, page, limitLos ficheros indexados, ordenados por ruta, con estado, tamaño, tipo, error de indexación si lo hubo y textQuality (caracteres ilegibles o mal codificados en el texto extraído: esas palabras no se encuentran al buscar)

Agentes ​

ToolArgumentosQué hace
list_agentspage, limitLos agentes: id, nombre, identifier, modelo, tools vinculadas, si identifican a su usuario (auth) y número de conversaciones
get_agentidDetalle de uno: system prompt, secciones de prompt, modelo, tools vinculadas (las que solo existen para un usuario identificado, en endUserToolInstanceIds) y número de conversaciones. auth dice si identifica a su usuario (mode) y con qué emisor: nombre, audiencia, iss y claves por kid, algoritmo y huella, nunca el secreto. El modo y el emisor se cambian en el panel, no desde el MCP. Las áreas de conocimiento van aparte, con list_agent_knowledge_areas
list_agent_conversationsagent_id, channel, since, until, page, limitLos hilos del agente, con filtro por canal y rango de fechas; cada fila trae messageCount, extracto, si fue bloqueado y, en las de un usuario identificado con JWT, endUser (su sub y el emisor). Canales con conversaciones reales: widget, js_sdk y demo (ver Canales)
get_agent_conversationagent_id, thread_id, include_tool_resultsUna conversación entera: los mensajes con sus horas, las tools que usó y lo que bloqueó la seguridad; con un usuario identificado, endUserClaims, lo que su emisor guarda de su token. De cada tool, el nombre, los argumentos y el tamaño de lo que devolvió (resultChars); lo devuelto en sí, solo con include_tool_results: true
list_agent_knowledge_areasagent_idLas áreas de conocimiento del agente
list_agent_messagesagent_idLos mensajes fijos del agente (bloqueo de seguridad, límites, error del modelo, fin de conversación…), con el de la plataforma, el propio si lo tiene y el que se usa

Con Permitir cambios:

ToolArgumentosQué hace
update_agent_promptid, system_prompt, prompt_mode, prompt_sectionsCambia el system prompt — en modo simple por texto, en advanced por secciones (prompt_sections es un objeto con identity, tone, dos, donts y responseStyle)
update_agent_auto_messageid, enabled, message, language, translationsCambia el mensaje de bienvenida (el que manda al abrir una conversación): si se usa, el texto por defecto, su idioma (language, un código como es, o null) y sus versiones en otros idiomas. translations va por código ({ "eu": "Kaixo!" }) y se suma a las que ya tiene el agente: solo cambian los idiomas que pases, y "" quita uno
set_agent_messageagent_id, platform_message_id, messagePone al agente su propio texto para uno de sus mensajes fijos
reset_agent_messageagent_id, platform_message_idVuelve al texto de la plataforma
add_agent_knowledge_areaagent_id, excerpt, content, activeAñade un área nueva
update_agent_knowledge_areaid, excerpt, content, activeCambia un área: su resumen, su contenido o si está activa
delete_agent_knowledge_areaidBorra un área (para dejar de usarla sin perderla, desactívala)

Además siendo administrador:

ToolArgumentosQué hace
link_tool_instance_to_agentagent_id, tool_instance_idVincula una instancia de tool ya creada (no desvincula las anteriores)

Inferencias ​

ToolArgumentosQué hace
list_inferences—Las inferencias accesibles: nombre, identifier (lo que pide run_inference), fecha de creación, qué RAGs y fuentes consultan, qué adjuntos admite su modelo, los nombres de sus tools y jwtOnly si solo se llama con el JWT de un usuario
run_inferenceidentifier, prompt, semantic_search[], top_k, use_reranking, similarity_threshold, json_schema, attachments[], include_system_promptEjecuta una inferencia —aquí por su identifier (el slug), no por el id—: el mismo contrato que POST /api/inferences/{identifier}. Con json_schema la respuesta llega además como contenido estructurado. Una inferencia jwtOnly da 403: no la abre el MCP

Instancias de tools ​

En el panel esta sección se llama simplemente Tools. Las instancias se vinculan a agentes y también a inferencias.

ToolArgumentosQué hace
list_tool_instancesscopes[], page, limitLas instancias configuradas (function-calling nativo): plantilla de origen y en cuántas inferencias/agentes se usan
update_tool_instance_descriptionid, descriptionCambia la descripción de una instancia

File sources ​

ToolArgumentosQué hace
list_file_sources—Los orígenes de ficheros: proveedor, estado, totales, patrones de exclusión, tipos de fichero excluidos 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_*. Los test_* miran como mucho los primeros 20.000 caracteres del texto, lo más que puede recibir un agente, igual que el Probar texto del panel.

Palabras prohibidas — coincidencia literal, con detección leet y difusa opcionales.

ToolArgumentosQué hace
list_forbidden_word_categories—Las categorías, con su número de palabras
create_forbidden_word_categorynameCrea una categoría (falla si el nombre ya existe)
list_forbidden_wordscategory_id, active, page, limitLas palabras/frases, con sus flags de leet y de coincidencia difusa
add_forbidden_wordsphrases[], category_id, leet_detection, fuzzy_detectionAlta masiva con los mismos flags. No deduplica
update_forbidden_wordid, phrase, category_id, leet_detection, fuzzy_detection, activeModifica una
update_forbidden_words_bulkids[], category_id, leet_detection, fuzzy_detection, activeEl mismo cambio a varias de una vez
test_forbidden_wordstextPrueba un texto: por línea, qué palabras coinciden y si fue exacto, leet o difuso

Palabras seguras (safe_phrases en las tools) — si el mensaje completo normaliza igual a una de ellas, se salta el resto del firewall.

ToolArgumentosQué hace
list_safe_phrasespage, limitLas frases seguras, activas y desactivadas (cada fila trae su active); no hay filtro por estado
add_safe_phrasesphrases[]Alta masiva. No deduplica
test_safe_phrasestextComprueba si un texto coincide con alguna

Firewall semántico — embeddings en Qdrant y umbral de similitud coseno por categoría.

ToolArgumentosQué hace
list_firewall_categories—Las categorías, con su threshold y número de frases
create_firewall_categoryname, thresholdCrea una categoría (falla si el nombre ya existe; threshold por defecto 0.8)
update_firewall_categoryid, name, thresholdLa renombra y/o ajusta su threshold
list_firewall_phrasescategory_id, active, page, limitLas frases de ejemplo, y si ya tienen embedding indexado
add_firewall_phrasesphrases[], category_idAlta masiva; las indexa sola si hay modelo de embeddings configurado
reindex_firewall_phrasesscopeReindexado manual: pending solo las que no tienen embedding, all recrea la colección (necesario tras cambiar de modelo)
test_firewalltextVectoriza 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). Son tres estrategias fijas, que vienen con el producto: no se crean ni se borran, solo se activan y se calibran.

ToolArgumentosQué hace
list_entropy_strategies—Las estrategias, activadas o no, con sus umbrales
update_entropy_strategyid, enabled, configActiva/desactiva una y ajusta sus umbrales
test_entropy_strategytextEjecuta 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 de entropía, RAGs, file sources y las áreas de conocimiento de un agente— no paginan.

Cada tool declara si escribe. El catálogo publica las annotations de MCP —readOnlyHint, openWorldHint (false salvo en run_inference, que puede llamar tools que salen fuera de tu instancia) y, en las que escriben, destructiveHint e idempotentHint—, derivadas del verbo del nombre:

VerboEscribeRepetir la llamada
list_ · get_ · search_ · test_nolos test_* solo evalúan un texto contra la configuración vigente
run_sí: una inferencia consume tokensvuelve a ejecutar
add_ · create_sí, solo añadenvuelve a añadir
link_sí, solo añadeidempotente: deja el mismo estado
update_ · reindex_ · set_sí, sobrescriben lo que hubieraidempotente: deja el mismo estado
reset_ · delete_sí, quitan algoidempotente: repetirla no quita más

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.