Skip to main content
Glama

🧑‍🎨 usuarios · Synthetic User Profiles for Service Design

Create research-backed user profiles that validate your designs across every sprint.

usuarios is an MCP server that turns your service design research (interviews, observations, field notes) into synthetic user profiles — rich, 12-dimension archetypes you can use to validate designs, align teams, and test ideas. All through natural conversation in Claude Desktop or Codex Desktop.


🚀 What your team says vs. what happens

They say

The AI does

"Creá usuarios sintéticos de las entrevistas"

Analyzes your research, extracts patterns, generates full profiles

"Validá el onboarding contra María"

Tests your design against María's criteria, returns a report

"¿Cómo va el proyecto?"

Shows a dashboard with research → patterns → profiles → validations

"Refiná el perfil de Juan"

Updates the profile with new insights, versions it

Zero technical knowledge needed. Your team just chats.


Related MCP server: mcp-usercall

📦 Installation (2 minutes)

1. Install uv

# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

2. Configure your AI desktop app

Claude Desktop: Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "usuarios": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/Sebtiago/usuarios-mcp",
        "usuarios-mcp"
      ]
    }
  }
}

Codex Desktop: Edit ~/.codex/config.toml:

[mcp_servers.usuarios]
command = "uvx"
args = [
  "--from",
  "git+https://github.com/Sebtiago/usuarios-mcp",
  "usuarios-mcp"
]

3. Restart your app and start chatting

"Inicializá usuarios para este proyecto"

That's it. The server handles everything else.


🧬 What's inside a profile? (12 dimensions)

Based on This Is Service Design Doing, Mapping Experiences, and the Touchpoint Journal:

Dimension

What it captures

1. Identity

Name, archetype, real quotes from research

2. Empathy Map

Sees, hears, thinks/feels, says/does

3. Jobs-to-be-Done

When/I want/So I can (functional, emotional, social)

4. Pain Points

Intensity, frequency, context, traceability

5. Behaviors

Patterns, triggers, workarounds

6. Mindset

Beliefs, tech literacy, change attitude

7. Ecosystem

Current tools, key people in their network

8. Scenarios

Real usage flows with emotional arcs

9. Emotional Journey

Stage-by-stage emotion map

10. Validation Criteria

Intent principles + testable questions

11. Traceability

Direct/Inferred/Speculative %, all sources cited

12. Metadata

Version, expiration (12 months), human validation

Every profile is saved in both JSON (machine-readable) and Markdown (team-readable).


🔄 The flow

INVESTIGACIÓN → ANÁLISIS → PERFILES → VALIDACIÓN → EVOLUCIÓN
 (research/)   (patterns/) (profiles/) (validations/)  (versioned)

The AI host orchestrates everything automatically. You never touch the tools directly.


📂 Project structure

After initialization, your project looks like this:

your-project/
└── .usuarios/
    ├── config.yaml          # Project settings
    ├── research/            # Drop your interview files here (.md, .txt)
    │   ├── entrevista-1.md
    │   └── focus-group.md
    ├── patterns/            # Extracted patterns (auto-generated)
    │   ├── patterns.json
    │   └── patterns.md
    ├── profiles/            # Your synthetic users (auto-generated)
    │   ├── maria-cuidadora.json
    │   └── maria-cuidadora.md
    └── validations/         # Design validation reports
        └── 2026-06-22-onboarding.md

🛠️ Development

# Clone
git clone https://github.com/Sebtiago/usuarios-mcp.git
cd usuarios-mcp

# Install dependencies
uv sync

# Run locally
uv run python main.py

# Customize templates (optional)
# Create .usuarios/templates/analyze.md in your project
# to override the default analysis methodology

🔒 Privacy

  • Runs locally. No cloud, no API keys, no data leaves your machine.

  • Does not call LLM APIs. The AI host (Claude/GPT) processes everything with its existing model.

  • Your research data stays in .usuarios/ in your project folder.


📚 Methodology

This tool implements the service design methodology from:

  • This Is Service Design Doing — Stickdorn, Hormess, et al.

  • Good Services — Louise Downe

  • Mapping Experiences — Jim Kalbach

  • Touchpoint: The Journal of Service Design

  • Analysis-Synthesis Bridge Model for AI in design


📄 License

MIT © Santiago Sirias


Built for designers, by a designer. If this helps your team, ⭐ the repo.

Available Tools

14 tools
get_generate_promptB

Generate a prompt for creating synthetic user profiles.

Reads the patterns file and returns a prompt with the complete 12-dimension profile schema for you to generate rich synthetic user profiles.

Args: project_path: Absolute path to the project directory. count: Optional number of profiles to generate (default: auto-detect from patterns).

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
countNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It states the tool 'reads the patterns file' and 'returns a prompt', but does not mention side effects, auth requirements, or file existence assumptions. Missing information on whether it modifies state or has rate limits.

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

Conciseness4/5

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

The description is concise with three brief sections: a purpose summary, a process explanation, and parameter details. It is front-loaded with the core purpose. However, the Args section partially duplicates schema information, slightly reducing conciseness.

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 sufficiently explains the tool's function and parameters, and since an output schema exists, return value explanation is not needed. However, it lacks context about prerequisites (e.g., existence of patterns file) and fails to provide usage guidance or behavioral notes, leaving gaps for the agent.

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

Parameters4/5

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

The description adds meaningful semantics beyond the bare schema: 'project_path' is described as 'Absolute path to the project directory' and 'count' as 'Optional number of profiles to generate (default: auto-detect from patterns)'. Schema coverage is 0%, so the description effectively compensates.

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

Purpose4/5

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

The description clearly states the tool generates a prompt for synthetic user profiles by reading a patterns file. It specifies the output includes a complete 12-dimension profile schema. While the purpose is specific and includes a verb and resource, it does not explicitly differentiate from sibling tools like 'get_profile' or 'get_research_prompt', which could cause ambiguity.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus the siblings. It does not mention prerequisites, alternative tools, or scenarios where this tool is inappropriate. The agent is left without context for selection.

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

get_profileA

Get a specific profile by ID.

Args: project_path: Absolute path to the project directory. profile_id: The profile identifier (e.g. "maria-cuidadora"). format: Output format: "json" (structured) or "markdown" (human-readable).

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
profile_idYes
formatNojson

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the full burden. It discloses the parameters and format options but does not describe side effects, error handling, or prerequisites (e.g., project_path validity). It is moderately transparent but incomplete.

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?

The description is concise and well-structured: a one-line summary followed by a clear Args list. It contains no extraneous information and is front-loaded with the main purpose.

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

Completeness4/5

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

Given the output schema exists (not shown), the description need not elaborate on return values. It covers the parameters adequately for a simple retrieval tool, but lacks information about error cases or dependencies on other tools. Overall, it is fairly complete.

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

Parameters4/5

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

Schema description coverage is 0%, so the description compensates by explaining parameters: project_path (absolute path), profile_id (with example), and format (with options). This adds meaningful value beyond the schema, though more detail about constraints would be helpful.

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 clearly states the tool's action ('Get') and resource ('specific profile by ID'), distinguishing it from siblings like list_profiles (which lists all profiles) and save_profile (which creates/updates).

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

Usage Guidelines3/5

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

The description gives the arguments but does not explicitly state when to use this tool versus alternatives. It implies usage when a profile ID is known, but lacks explicit guidance on when not to use it or when to prefer list_profiles.

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

get_project_configC

Get the current project configuration.

Args: project_path: Absolute path to the project directory.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided; description only says 'Get', implying read-only but fails to disclose potential side effects, error cases (e.g., invalid path), authorization needs, or whether it returns stale data. The description carries the burden but does not address behavioral traits.

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

Conciseness4/5

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

Extremely concise with two sentences and no redundant information. The structure is front-loaded with the action, but could benefit from a brief note on output format or common usage.

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?

Given the low complexity (1 param, output schema exists), the description is somewhat adequate. However, it lacks notes on error handling (e.g., if path is invalid), permissions, or relation to sibling tools like init_project. More context would improve completeness.

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?

With 0% schema coverage, the description adds meaningful context: 'Absolute path to the project directory.' This clarifies the parameter's nature beyond the schema's string type. However, it could detail formatting (e.g., trailing slash) or validation rules.

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

Purpose4/5

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

Description clearly states the action ('Get') and resource ('project configuration'), making the purpose unambiguous. The tool name itself is specific, but no explicit differentiation from siblings like get_generate_prompt, though context implies distinct resources.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as getting project prompts or profiles. No mention of prerequisites (e.g., project must exist) or when not to use it.

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

get_research_promptA

Generate an analysis prompt from research data.

Reads all research files (or specified subset) and returns a prompt that you (the AI host) should process with your LLM to extract:

  • Behavioral patterns

  • Pain points

  • Goals and motivations

  • Environment/context factors

  • Key differentiators between user segments

After processing, call save_patterns with the structured result.

Args: project_path: Absolute path to the project directory. source_files: Optional list of specific file names to analyze.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
source_filesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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

No annotations provided, so description bears full burden. It states the tool reads research files and returns a prompt, implying read-only behavior but no explicit mention of side effects, auth, or rate limits. Adequate but not comprehensive.

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?

Two paragraphs plus args list; front-loaded with main purpose. Every sentence adds value without repetition. Efficient use of space.

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

Completeness4/5

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

Given tool complexity (generating a prompt), the description covers inputs, what the prompt extracts, and the follow-up action. Output schema exists but is not shown; description compensates by explaining expected prompt content. Minor gap: does not clarify if prompt is returned as a string or object.

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

Parameters4/5

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

Schema description coverage is 0%, but the description adds meaningful context for both parameters: project_path is 'Absolute path to the project directory' and source_files is 'Optional list of specific file names to analyze.' Adds value beyond the schema structure.

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?

Description starts with a clear verb+resource: 'Generate an analysis prompt from research data.' It specifies inputs and outputs, and distinguishes from sibling tools like get_generate_prompt by mentioning the workflow to call save_patterns afterward.

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?

Provides explicit workflow: use this to generate a prompt, process it with an LLM, then call save_patterns. Does not state when not to use or compare to alternatives, but the context (siblings) and description imply usage scope.

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

get_validate_promptA

Generate a validation prompt for testing a design against a profile.

Reads the specified profile and design document, then returns a prompt for you to evaluate the design against the user's criteria and needs.

Args: project_path: Absolute path to the project directory. profile_id: The profile to validate against (e.g. "maria-cuidadora"). design_file: Path to the design document to validate (relative to project).

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
profile_idYes
design_fileYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions reading files but does not disclose behavioral traits like error handling (e.g., if files don't exist), authorization needs, or side effects. The read-only nature is implied but not confirmed.

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?

The description is concise, front-loaded with the main purpose, and structured with a clear Args list. Every sentence adds value, with no redundant or vague statements.

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?

Considering no annotations, 3 params, and existence of an output schema, the description covers core purpose and parameter semantics. However, it lacks context on error behavior (e.g., missing files), prerequisites, or what the output prompt contains beyond being 'for you to evaluate'. The output schema might cover return format, so it's adequate but not fully complete.

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

Parameters4/5

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

With 0% schema description coverage, the description compensates by including an Args section that explains each parameter's purpose (e.g., 'Absolute path to the project directory', 'The profile to validate against (e.g. "maria-cuidadora")', 'Path to the design document to validate (relative to project)'). This adds significant meaning beyond the schema.

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 clearly states the tool's purpose: 'Generate a validation prompt for testing a design against a profile.' It specifies the verb (generate/read/return), resource (validation prompt from profile and design), and distinguishes from siblings like get_generate_prompt and get_research_prompt.

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

Usage Guidelines3/5

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

While the description implies when to use (validating a design), it does not explicitly state when not to use or name alternative tools. It lacks explicit guidance on when to choose this tool over siblings, such as get_generate_prompt or get_research_prompt.

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

get_workflow_guideA

Get the complete workflow guide for using usuarios-mcp.

Returns detailed instructions on how to use the server effectively: autonomous workflows, methodology, and UX principles.

Call this when you need a refresher on the correct workflow.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It indicates a read operation returning instructions, but lacks details on any behavioral traits such as authentication needs or side effects. However, the simplicity of the tool makes this adequate.

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?

The description is very concise: two sentences plus a usage line, no wasted words, and front-loaded with the main purpose.

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

Completeness5/5

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

For a simple tool with zero parameters and an output schema, the description is complete. It states what is returned and when to use it.

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

Parameters4/5

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

There are zero parameters, and baseline is 4. The description does not need to add parameter information.

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 clearly states the tool retrieves the complete workflow guide for using usuarios-mcp, with a specific verb and resource. It distinguishes itself from sibling tools by its unique purpose.

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?

The description explicitly says when to call this tool ('when you need a refresher on the correct workflow'), but does not provide guidance on when not to use it or mention alternatives.

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

init_projectA

Initialize a new usuarios project.

Creates the .usuarios/ directory structure: .usuarios/ config.yaml research/ <- Put interview files here patterns/ <- Analysis results go here profiles/ <- Generated profiles (JSON + MD) validations/ <- Validation reports

Args: project_path: Absolute path to the project directory.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description must communicate behavior. It describes directory creation but omits whether the tool overwrites existing projects, any permissions required, or error scenarios. This is adequate but incomplete for complete transparency.

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

Conciseness4/5

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

The description is well-structured with a short paragraph and a bulleted list of the directory structure. It is concise and informative, though the bullet list could be slightly more compact.

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?

Given the tool's low complexity (single parameter, no nested objects), the description adequately explains the purpose and output. However, it lacks details on side effects (e.g., overwriting) and error handling, which keeps it from being fully complete.

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

Parameters4/5

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

The one parameter (project_path) has no schema description, but the description adds meaning by stating it requires an absolute path and explains its purpose. This compensates for the low schema coverage.

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 clearly states it initializes a new project and creates a specific directory structure with subdirectories. The verb 'Initialize' and resource 'project' are specific, and it distinguishes from sibling tools like get_profile or save_profile.

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

Usage Guidelines3/5

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

The description implies this tool is used to start a project, but it does not explicitly state when to use it versus alternatives, nor does it mention prerequisites or when not to use it. The usage context is clear but not directive.

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

list_profilesA

List all synthetic user profiles in the project.

Args: project_path: Absolute path to the project directory.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only adds the argument detail. It does not disclose side effects, pagination, rate limits, or that listing is read-only.

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?

The description is extremely concise: one sentence for purpose followed by a structured Args block. Every word is relevant.

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?

Given the low complexity (1 parameter, output schema present), the description provides the bare minimum: purpose and parameter definition. It lacks usage context but is functionally complete.

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

Parameters4/5

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

The schema coverage is 0%, so the description adds crucial meaning for the only parameter: 'Absolute path to the project directory.' This clarifies the schema's bare 'Project Path' title.

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 clearly states the action ('List') and the resource ('all synthetic user profiles in the project'), which distinguishes it from sibling tools like get_profile (singular fetch).

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives (e.g., get_profile for a single profile) or any prerequisites.

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

list_researchA

List all research files in the project.

Args: project_path: Absolute path to the project directory.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations provided, the description only states the action without disclosing behavioral traits like read-only nature, error handling, or path requirements. Minimal transparency.

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?

The description is extremely concise with two lines, front-loading the primary purpose. Every word adds value; no redundancy.

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?

Given the presence of an output schema, return values are covered. However, the description lacks any context about limitations, prerequisites, or when to choose this tool among many siblings, leaving the agent underinformed.

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

Parameters4/5

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

The description explains that project_path is an 'Absolute path to the project directory', adding significant semantic context beyond the schema's type-only definition. Schema coverage is low, so this compensates well.

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 clearly states 'List all research files in the project', using a specific verb and resource. It distinguishes itself from sibling tools like list_profiles and list_validations.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as list_profiles or get_research_prompt. The description lacks context for tool selection.

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

list_validationsB

List all validation reports in the project.

Args: project_path: Absolute path to the project directory.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided, so description must disclose behavioral traits. It only says 'list', implying read-only, but no explicit mention of side effects, permissions, or return format.

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

Conciseness4/5

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

The core description is a single clear sentence. However, the Arg section redundantly repeats the schema information, slightly reducing conciseness.

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?

Has output schema but description doesn't reference it or explain what validation reports contain. Lacks context about sorting, filtering, or behavior, but is adequate for a simple list tool.

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

Parameters4/5

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

Schema description coverage is 0%, but the description adds meaning by defining project_path as 'Absolute path to the project directory', which compensates for the schema gap.

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 clearly states the tool lists all validation reports in the project, using a specific verb and resource. It distinguishes from sibling tools like list_profiles and list_research.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, such as get_validate_prompt or save_validation. No conditions or exclusions mentioned.

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

quick_statusA

Get a dashboard overview of the entire project.

Shows research files count, patterns status, profiles created, validations run, and project health. Call this FIRST in any workflow to understand the current state.

Args: project_path: Absolute path to the project directory.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It describes the output (counts, health) but does not explicitly state if it is read-only, what happens on invalid project_path, or any side effects. It implies a safe read operation but lacks explicit behavioral detail.

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?

Concise and well-structured: first sentence states purpose, second lists what it shows, third gives usage guidance, then parameter description. Every sentence adds value with no redundancy.

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

Completeness4/5

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

Given that an output schema exists, the description does not need to detail return values. It covers the tool's purpose, when to use it, and the parameter meaning. It is complete for a simple status tool, though it could optionally clarify error behavior.

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

Parameters4/5

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

The input schema has 0% description coverage for the single required parameter. The description compensates by stating 'Absolute path to the project directory', which adds necessary context beyond the schema's title and type.

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 clearly states 'Get a dashboard overview of the entire project' and lists specific metrics (research files count, patterns status, etc.). It distinguishes from sibling tools which focus on individual aspects or actions, making it unique as a high-level status tool.

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?

Explicitly advises 'Call this FIRST in any workflow to understand the current state', providing clear when-to-use guidance. It does not explicitly mention when not to use or alternatives, but the instruction to call it first implies its role as an initial step.

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

save_patternsA

Save extracted research patterns to the project.

Accepts the patterns as a JSON string. The patterns should follow the structure provided by the get_research_prompt output.

Args: project_path: Absolute path to the project directory. patterns: JSON string with the analysis results.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
patternsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It lacks information on whether patterns are overwritten or merged, required permissions, or error conditions. The description is insufficient for a mutation operation.

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?

Four sentences, front-loaded with purpose, no extraneous information. Every sentence adds value.

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?

Covers basic purpose and parameter format, and output schema exists to cover return values. However, missing details on side effects (e.g., whether existing patterns are replaced) and error handling limit completeness.

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

Parameters4/5

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

With 0% schema description coverage, the description compensates effectively by explaining the patterns parameter's expected format (JSON from get_research_prompt) and clarifying project_path as 'Absolute path to the project directory.'

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 clearly states the verb ('Save'), resource ('extracted research patterns'), and context ('to the project'), distinguishing it from sibling tools like save_profile and save_validation.

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?

Provides context that patterns should follow the get_research_prompt output format, implying usage after that tool. However, no explicit exclusions or when-not-to-use guidance is given.

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

save_profileA

Save a generated synthetic user profile.

Saves both a JSON file (for machine consumption) and a Markdown file (for human consumption). The profile must follow the 12-dimension schema provided by get_generate_prompt.

Args: project_path: Absolute path to the project directory. profile: JSON string with the 12-dimension profile.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
profileYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

Description discloses the dual-file output and required schema, but does not cover overwrite behavior, error handling, or permissions. Without annotations, more detail would be beneficial, but the description is not misleading.

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

Conciseness4/5

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

The description is moderately concise, with key information front-loaded. The Args section is structured and clear, though some redundancy with the introductory sentences exists.

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

Completeness4/5

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

The description covers purpose, output formats, and parameter details. It references the required predecessor tool. However, it lacks details on overwrite behavior or file system dependencies, which could be important given no annotations.

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

Parameters5/5

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

With 0% schema coverage, the description fully compensates by providing clear descriptions for both parameters, including required format and context for profile.

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 clearly states the verb 'Save', the resource 'generated synthetic user profile', and the output formats (JSON and Markdown). It also references the required schema from get_generate_prompt, distinguishing it from other save tools like save_patterns and save_validation.

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

Usage Guidelines3/5

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

The description implies the tool should be used after get_generate_prompt, but does not explicitly state when to use it instead of save_patterns or save_validation. It provides some context but no explicit alternatives or exclusions.

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

save_validationB

Save a validation report.

Args: project_path: Absolute path to the project directory. profile_id: The profile that was validated against. report: JSON string with the validation report.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
profile_idYes
reportYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description must disclose behavior. Only states 'save', which is a mutation, but does not mention overwriting behavior, required permissions, side effects, or response details. Minimal disclosure.

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?

Description is very concise: one sentence for purpose then a clean list of args. No unnecessary words, front-loaded with purpose.

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

Completeness4/5

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

For a simple save operation with 3 params and an output schema, the description covers purpose and parameter meanings. Could mention that profile_id should match an existing profile, but overall adequate.

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

Parameters4/5

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

Schema coverage is 0%, but the description explains each parameter: project_path as absolute path, profile_id as the profile validated against, report as JSON string. This adds meaning beyond the schema's type-only definitions.

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

Purpose4/5

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

The description states 'Save a validation report' with a specific verb and resource. It distinguishes from siblings like list_validations (list) and get_* tools (retrieve), though it doesn't explicitly differentiate.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives. Does not mention prerequisites (e.g., must have run a validation first) or that list_validations can list saved reports.

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.

  1. 14 tool updatesv0.1.0
    • First observedget_generate_prompt
    • First observedget_profile
    • First observedget_project_config
    • First observedget_research_prompt
    • First observedget_validate_prompt
    • First observedget_workflow_guide
    • First observedinit_project
    • First observedlist_profiles
    • First observedlist_research
    • First observedlist_validations
    • First observedquick_status
    • First observedsave_patterns
    • First observedsave_profile
    • First observedsave_validation

TDQS

A3.8/5.0
Disambiguation5/5

Each tool has a clear, distinct purpose. Tools like get_generate_prompt, get_research_prompt, and get_validate_prompt serve different stages of the workflow, while list_ and save_ tools operate on different resources. There is no overlap or confusion.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., get_profile, save_patterns, list_research). The verbs (get, init, list, save, quick) are appropriate for the action, and the naming makes the tool's purpose immediately clear.

Tool Count5/5

With 14 tools, the server is well-scoped for its domain of user research and synthetic profile generation. Each tool contributes to a specific step in the workflow without redundancy or unnecessary bloat.

Completeness4/5

The tool set covers the full research-to-validation workflow: initialization, research analysis, pattern extraction, profile generation, and validation. Missing are update/delete operations for resources, but the forward-only generation process mostly mitigates this need.

Maintenance

ActivityStale
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Sebtiago/usuarios-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server