mcpserver.lol
registry/agent4-tenant
Connection check verified live · 27h ago

agent4-tenant

Build and run grounded business agents over MCP: agents, knowledge bases, skills, Storylines.

Tools 50
GitHub stars
Installs / wk
Licence
Transport streamable-http
Last checked 27h ago

Tools & capabilities

50 tools

Read from the running server on 27h ago.

add_knowledge_file path*titlekb_name*
Add a local file's content to a knowledge base (txt/md/html/pdf/docx). **This MCP runs on the platform server and cannot read paths on YOUR machine.** For text files, read…
add_knowledge_text title*content*kb_name*
Add a **text** document to a knowledge base (chunking + embedding happen synchronously; returns the real chunk count). For **local files** (pdf/docx…) see `add_knowledge_f…
build_knowledge_index name*roles
Build (or rebuild) the structured index for a knowledge base — the second leg beside vector search. Vector search answers "what does this passage say". It **cannot count, filt…
clone_storyline storyline_id*
Clone a storyline into a new draft (new key, unpublished, doesn't claim default, no chain pointer) for tweaking.
configure_share labelthemetoken*launcherlogo_urlagent_name* +4
Configure this share — its name and its **appearance** — fields you don't pass stay as they are (server-side partial merge). - `label`: the name at the top of the chat pag…
create_agent name*soultaskaliasmodeltools +4
Create an agent. `name` is lower-cased on save — it is a key, not a display name. soul = persona/identity; task = duties and boundaries; tools = tool-name whitelist (chec…
create_knowledge_base name*top_kdescriptioninstructionsmax_distance
Create a knowledge base. **Write `description` — it is what routes questions to this base.** Before each answer the platform reads every attached base's `description` and…
create_share labelagent_name*
Create a **share / integration entry point** for an agent — this is how end users actually reach it. **`published=True` only means "visible", not "reachable"**: for end users…
create_skill name*toolsdescriptioninstructions
Create a skill. description = "when to use" (goes into the system prompt, keep it short); instructions = the detailed guide (fetched on demand via load_skill). The paradig…
create_storyline key*nameentrygraphagent_name*allow_exit +12
Create a storyline draft. After creating, self-check with validate_storyline, then publish_storyline. user_visibility — what the end user sees of their own run: "invisible…
diagnose_prompt field*contextcurrent*
Read a field and return a list of **specific** improvement suggestions (string array). field: same values as improve_prompt. current = the text to diagnose (required — an empt…
export_storyline storyline_id*
Export a portable storyline JSON (schema_version + definition; no tenant/version/id) for backup, migration or re-import.
get_agent name*
Get one agent's full configuration (soul/task/tools/skills/knowledge_bases/model/params).
get_end_user uid*
Get one end user's detail: basic profile (name, contact email/phone, city, timezone) + their spaces. Never any conversation content. Carries a `console_url` to the user's…
get_knowledge_base name*
Get one knowledge base's configuration (including the full instructions text shown to the model).
get_knowledge_index name*
Show the structured index profile: per column coverage, type, numeric range, top values, warnings. **The warnings are the point.** On a real 4,500-document catalogue this surf…
get_skill name*
Get one skill's full content (including the complete instructions text).
get_storyline storyline_id*
Get one storyline's full definition (whole graph + profile_schema + top-level fields).
import_storyline payload*override_agent_name
Import an exported storyline JSON as a draft. **Artifacts like "generate a storyline from a novel / source material" land here.** payload = the structure returned by expor…
improve_prompt hintfield*contextcurrent
Rewrite a field's text to work better as an AI system prompt; returns the improved text. field ∈ persona | task | greeting | storyline_task | storyline_opening | s…
list_agents
List all agents in this tenant (name + published state).
list_end_users qsortlimitcursor
List this tenant's **end users** (the people chatting with your agents) — roster only, never any conversation content. Each user carries: display name, login method (email…
list_knowledge_bases
List this tenant's knowledge bases (with doc/chunk counts and relevance cutoff).
list_mcp_servers
List the MCP servers connected in this tenant's tool library (read-only; secret fields omitted).
list_page_contexts
List all page playbooks of this tenant (with match rules, greeting mode, position).
list_shares agent_name*
List an agent's shares (token / label / disabled / chat link / embed URL / appearance config). When the top-level `pretty_url` is non-empty it is the preferred link to give hu…
list_skills
List this tenant's skills.
list_storylines agent
List this tenant's storylines (optionally filtered by agent). Includes state, version, default flag.
list_tools
List tool names assignable to agents, with their descriptions (incl. the tenant's connected MCP tools).
list_user_sessions uid*limitcursor
List one end user's **sessions** — metadata only: agent, title (AI summary), message count, tokens, timestamps. **Message bodies are not returned.** Transcripts are render…
page_context_stats
Open counts and suggested-question click counts per playbook — find copy nobody clicks.
patch_knowledge_index name*applyrequest*
Change the structured index schema from one sentence of plain language. Example requests: "also track the author so users can find other books by them", "I want to filter…
preview_plan goal*agent*
Generate a plan for a goal and return it for review **without persisting anything** — no temporary storyline, no enrollment, no user affected. Use it to inspect plan quality be…
publish_storyline storyline_id*
Publish a storyline: validates first (blocking errors → 422), then freezes an immutable version and marks it published.
resolve_page_context keyurl
Given a URL (or key), show which playbook it resolves to — always verify after writing a match rule. Globs make it easy to write rules that "look right but never match" (o…
search_agent4_docs kquery*
Search agent4.io's own product docs — concepts (what a thing *is*) and cookbook recipes (which tool to *call*). Use when you're unsure how an agent4.io feature works, what a te…
search_knowledge_base query*kb_name*
Search this knowledge base; returns matching chunks with distances. Uses **exactly the same retrieval path as real conversations** — use it to validate the cutoff and chun…
set_custom_domain domain*agent_alias
Bind the client's own domain to this tenant's chat pages: `https://chat.client.com/` serves the tenant's branded page (or a specific agent's chat), the address bar keeps the cl…
set_pwa_branding agent*install_prompticon_source_url
Configure a specific **agent's** PWA branding and install experience (applies to that agent's `/s/` standalone chat pages — what gets installed to the home screen is one agent'…
tenant_info
This tenant's basic info and quota (plus custom-domain binding status, if any).
test_planner_trigger agent*expectsamplesmessages*
Dry-run the Dynamic Planner's escalation judge: would these messages be offered a step-by-step plan? Use it after editing the agent's `task`, since the task text is the **b…
test_skill_trigger agent*skillloadedsamplesmessages*expect_tool
Reality-check whether your prompts actually trigger tool calls (dry-run) — run this after writing/changing a skill instead of counting corpses in production. Replays your…
unpublish_storyline storyline_id*
Unpublish (archive): no more auto-enrolment; in-flight users silently degrade to the plain agent on their next turn (progress kept — re-publishing resumes it).
update_agent name*soultaskmodeltoolsskills +15
Update **part** of an agent — fields you don't pass stay as they are. ⚠️ List-field semantics, don't mix them up: `tools=[...]` / `skills=[...]` / `knowledge_bases=[...]`…
update_knowledge_base name*top_kdescriptioninstructionsmax_distance
Update part of a knowledge base — fields you don't pass stay as they are (server-side PATCH merge).
update_skill name*toolsadd_toolsdescriptioninstructionsremove_tools
Update part of a skill — fields you don't pass stay as they are (server-side PATCH merge, no GET+PUT round-trip). ⚠️ `tools=[...]` is **full-list replacement**; to add/rem…
update_storyline key*nameentrygraphagent_name*allow_exit +14
Update **part** of a storyline draft — fields you don't pass stay as they are (GET-then-merge on top of a full PUT underneath). concurrency: "user" = progress belongs to t…
upsert_page_context key*labelcontextgreetingpositionquestions +3
Create or fully replace a page playbook. `context` is the page background the **server** injects for the agent — write "who lands on this page, what they are deciding, wha…
usage_stats group
Usage statistics. group ∈ total | agent | user | space | day | model. Metadata only — token counts and event counts, never any conversation content. Use group="user" to se…
validate_storyline storyline_id*
Validate the storyline graph (entry / dead ends / unreachable / dangling / cross-line targets / rule dimensions). Returns {ok, errors}. Must pass before publishing.