Skip to main content
Glama

Build Persona from Text

neuron_build_persona_from_text

Distill a reusable voice from raw text — no Collection or browser extension needed. Feed it pasted posts, a chat/dialogue transcript, WhatsApp-export text, or your own well-crafted writing sample, and it reverse-engineers a voiceProfile (tone, diction, cadence, emoji/formatting habits, themes, dos/donts) + exemplars. Provide text (auto-split into samples) and/or samples (already-split). Runs an LLM call (a few seconds).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoPersona name. Defaults to '<author> voice' or 'Custom voice'.
textNoA raw blob to distill: posts, a dialogue, a chat transcript, or a writing sample. Auto-split into samples.
samplesNoPre-split writing samples (alternative or addition to `text`).
speakerNoIf `text` is a chat transcript, keep only this speaker's lines (name match) — so a group chat yields one person's voice.
platformNoOptional metadata tag for the samples (e.g. 'whatsapp', 'x').
authorLabelNoWho the voice belongs to, for a more grounded analysis.
descriptionNo

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With all annotations false and no output schema, the description carries the disclosure burden. It does reveal meaningful process traits—an LLM call, a few seconds latency, auto-splitting of text—and the shape of the result. But it never states whether the built persona is persisted/overwritten or merely returned, which is a consequential side-effect ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with purpose and free of filler. The scoping constraint and input guidance each earn their place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers inputs, output composition, and latency, but with no output schema and uninformative annotations it omits whether the result is saved as a persona resource and how it relates to neuron_build_persona or neuron_build_persona_from_conversation. This is a meaningful completeness gap for safe invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 86%, so the baseline is 3. The description mostly repeats the text-vs.-vs.-samples distinction already in the schema and adds only marginal detail (example input formats). It does not explain speaker, platform, authorLabel, or description beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Distill a reusable voice from raw text,' and names the output artifacts (voiceProfile components + exemplars). It also differentiates from sibling build tools by noting 'no Collection or browser extension needed' and by being explicitly text-input based.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly telegraphs when to use it: whenever the agent has raw pasted posts, transcripts, WhatsApp exports, or writing samples, and clarifies that no Collection/browser extension is required. However, it never names sibling alternatives such as neuron_build_persona_from_conversation or states when to prefer them, so it stops short of full when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

B3.4/5.0
Disambiguation3/5

Most tools are clearly separated by resource type, but there is meaningful overlap in messaging entry points (send_message, send_whatsapp, compose_message, bot_api_send) and contact ingestion/sync tools (import_contacts, populate_contacts, sync_whatsapp_contacts). The descriptions help disambiguate, but with 309 tools an agent will frequently need to read closely to pick the right one.

Naming Consistency4/5

The overwhelming majority of tools follow a consistent verb_noun snake_case pattern: create_*, get_*, list_*, update_*, delete_*. Minor deviations like sales_stats, lead_stats, wallet_balance, and whoami break the pattern slightly, but overall naming is highly predictable.

Tool Count1/5

309 tools is an extreme count for any MCP server, even a broad platform. This creates significant cognitive load and navigation overhead for agents, and far exceeds the well-scoped 3-15 tool range where coherence is strongest.

Completeness4/5

The tool surface is remarkably comprehensive across bots, contacts, campaigns, flows, knowledge bases, personas, marketplace, wallet, and products. Minor gaps exist — lead sources lack update/delete tools, and there is no single get_task or get_webhook alongside their list/update/delete counterparts — but these are workable gaps rather than dead ends.

Resources