Chenji Affect
Server Details
Affect analysis, 3D avatar params, empathy hints and somatic emotion decode.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- zhiyu-dev/chenji-affect-mcp
- GitHub Stars
- 0
Available Tools
4 toolsanalyze_textAInspect
L1 Affect Extraction: analyze text into an 8-dimensional emotion vector, emotion texture labels, causal intent classification, and a natural-language state description. text: input up to 2000 chars. lang: optional 'zh' or 'en'.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | ||
| text | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden. It clearly explains what the tool produces and constrains input size and language options, which covers the main behavioral surface for an analysis tool. It does not mention side effects such as data retention or authentication, but those are less critical for this kind of text-analysis operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two dense sentences with no filler. The tool's action and output types are front-loaded, followed by concise parameter guidance, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with an output schema and an unrelated sibling, this description is nearly complete: it covers purpose, outputs, input limits, and supported language values. It could be slightly stronger by mentioning usage exclusions or any special response interpretation, but nothing essential for invoking the tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description compensates fully. It explains the text parameter as input up to 2000 characters and lang as an optional parameter accepting 'zh' or 'en', which adds meaningful semantics that the raw schema lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with 'L1 Affect Extraction: analyze text into...' and enumerates four concrete output types: an 8-dimensional emotion vector, emotion texture labels, causal intent classification, and a natural-language state description. This makes the tool's purpose unambiguous and distinctly separate from the unrelated sibling tool generate_avatar_params.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear invocation context by specifying that text is input up to 2000 characters and lang is optional with 'zh' or 'en' values. It does not explicitly state when not to use the tool or point to alternatives, but the only sibling tool is unrelated, so there is no real routing ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
empathy_hintAInspect
L3 Empathy Response Strategy: converts text into a deterministic response strategy (approach, tone temperature, pacing, focus points, avoid-list) for AI companions and conversational agents. Deterministic table lookup, no LLM, ~20ms; privacy-first. Not a medical or therapeutic tool.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well: it discloses deterministic table lookup, no LLM involvement, ~20ms latency, privacy-first behavior, and non-medical scope. These are meaningful behavioral traits beyond what a schema or annotation would typically convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly packed sentences front-load the core purpose and then add high-value behavioral and performance details. No filler or redundant repetition of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter tool with an output schema present, the description covers the core transformation, output aspects, performance characteristics, privacy stance, and a key limitation. Nothing critical is missing for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage for the only parameter, but the description clarifies that 'text' is the input to be converted into a response strategy. It doesn't specify length/format constraints, but for a single obvious text parameter, this is adequate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('converts') and names the resource ('text into a deterministic response strategy') with concrete output elements (approach, tone temperature, pacing, focus points, avoid-list). It clearly distinguishes this from likely siblings like analyze_text or somatic_decode by framing it as an empathy-response strategy tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the intended context ('for AI companions and conversational agents') and adds an explicit exclusion ('Not a medical or therapeutic tool'). It does not name alternative tools or provide if-then routing guidance, but the target use case is clear enough for an agent to select it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_avatar_paramsAInspect
L2 Avatar Driving Pipeline: one call returns blendshape/AU/curve animation parameters, lighting & material atmosphere package, adapter payload, plus the upstream L1 affect analysis. Requires a key tier that includes L2.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must carry the burden of behavioral disclosure. It does disclose that one call aggregates multiple output packages and that an L2 key tier is required. However, it does not mention failure behavior, side effects, latency, or what happens when the key tier is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence with no wasted words, and the key pipeline identifier is front-loaded. It earns its length but uses heavy jargon (blendshape/AU/curve, adapter payload, atmosphere package) that could reduce quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, describing return values is less necessary, and the description does add useful context about the pipeline level and key tier requirement. However, it omits parameter guidance and any explicit relationship to the sibling tool, leaving an agent to infer important selection and input details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description never explains what `text` should contain, its format, length, or role in the pipeline. The only clue is the tool name and the schema's `text` property, so the description does not compensate for the missing parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific pipeline ('L2 Avatar Driving Pipeline') and states that a single call returns blendshape/AU/curve parameters, lighting and material packages, adapter payload, and L1 affect analysis. This clearly differentiates it from the sibling analyze_text by positioning it as the L2 generation tool rather than L1 text analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when L2 avatar driving parameters are needed and the account has a key tier including L2. However, it does not explicitly contrast it with analyze_text or state when NOT to use it, leaving the selection logic somewhat implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
somatic_decodeAInspect
L4 Somatic Emotion Decode: converts body-sensation text (e.g. tight chest, clenched fists) into structured emotion: primary affect, valence/arousal, emotion texture, causal intent, plus somatic anchor cues. Grounded in the somatic decoding discipline; wellness simulation only, not a diagnostic tool.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It does disclose that the tool is 'wellness simulation only, not a diagnostic tool' and mentions its grounding in the somatic decoding discipline. It remains silent on potential side effects, data handling, or failure behavior, but as a pure text-to-structure converter these are less critical.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the action, gives examples, lists output components, and adds scope limitations. Every clause contributes useful information without redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the single-parameter schema and the presence of an output schema documenting return values, the description covers the essential context: input type, examples, output structure, and usage boundaries. Only minor additions like explicit alternative guidance would make it more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage and only names the parameter 'text'. The description compensates well by defining the input as 'body-sensation text' and providing concrete examples ('tight chest, clenched fists'), which gives the agent a clear understanding of expected parameter content. It could add length or format constraints, but the core semantics are clear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('converts') with a clear resource ('body-sensation text') and enumerates the structured output components (primary affect, valence/arousal, emotion texture, causal intent, somatic anchor cues). This differentiates it from generic siblings like analyze_text and empathy_hint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly indicates when to use the tool (for body-sensation text) and provides an explicit exclusion ('not a diagnostic tool'). However, it does not name or contrast with any sibling tools such as analyze_text or empathy_hint, leaving some routing decisions to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
2 tool updates
- Added
empathy_hint - Added
somatic_decode
2 tool updates
- First observed
analyze_text - First observed
generate_avatar_params
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
The Emotion Dictionary's 402 emotions: define a word, resolve a feeling, body maps. CC BY 4.0.
- PrimetaOAuthai.primeta
Give your AI a face, a voice, and a personality. 3D avatars with custom personas.
Persistent AI entity framework with causal memory, emotional state, and identity.
Psychological text analysis: tone, emotions, communication style, multilingual replies.
Related MCP Servers
- FlicenseAqualityCmaintenanceProvides structured behavioral analysis grounded in Panksepp's affective neuroscience and pattern matching to understand human intent and behavior through primary emotional systems and transition dynamics.6-
- AlicenseNot gradedqualityNot gradedmaintenanceProvides AI agents with a persistent internal dynamical state and emotional reservoir that evolves based on text interactions. This server enables agents to maintain a consistent affective substrate across sessions through tools that track phase coherence and emergent emotional vibes.2-
- AlicenseNot gradedqualityDmaintenancePreserves the emotional texture of human-AI conversations across sessions through real-time experiential annotation — temperature, authenticity, shifts, subtext, and unspoken context.11MIT
- AlicenseAqualityDmaintenanceAnalyzes speech audio to detect emotions, urgency, and sarcasm using prosodic features.51MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool is clearly pinned to a distinct stage and input: raw text emotion analysis, avatar parameter driving, empathy response strategy, and somatic body-sensation decoding. Even though analyze_text and somatic_decode share emotion-output dimensions, the text vs. body-sensation input boundary plus the explicit L1/L4 labels make misselection unlikely.
The names use snake_case but mix conventions: analyze_text and generate_avatar_params are verb_noun, while empathy_hint is noun_noun and somatic_decode reads as adjective+verb. This is readable but less predictable than a uniform verb_noun pattern.
Four tools map cleanly onto the four advertised affect-processing levels (L1-L4) with no redundant duplicates. The count feels deliberately scoped for a focused affective-computing API.
The surface covers the core lifecycle from text/body input through affect analysis, avatar parameters, and empathy strategies, so the main workflows are present. Minor gaps exist around cross-chaining outputs (e.g., a somatic decode cannot directly feed the avatar or empathy tools) and there is no batch/status endpoint, but these are workable.