Skip to main content
Glama
Unilytics MCP Server

Unilytics MCP Server

Official

set_project_config

DestructiveIdempotent

Saves skill-specific client configuration on a project—expert rosters, keyword clusters, tone rules—under namespaced keys so values stay organized and are shared with collaborators.

Instructions

Save skill-specific client config on a project (expert rosters, clusters, style rules).

Use for values a skill needs that aren't standard project fields: an expert-blog roster,
keyword clusters, a client's tone rules. Config is stored on the project (not in the skill), so
one skill serves many clients, and the values are shared with project collaborators. Standard
fields (keywords, competitors, locations) are stored by add_tracked_keywords instead.

Args:
    project_id: The project to save config for.
    namespace: A key identifying the owning skill (e.g. "expert-blog-sweep").
        Namespacing keeps skills from overwriting each other's config.
    values: A dict of config values to store under this namespace. Replaces
        the namespace's previous contents.

Input Schema

NameRequiredDescriptionDefault
valuesYes
namespaceYes
project_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.1.0

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true, idempotentHint=true, and readOnlyHint=false; the description adds the crucial detail that values 'Replaces the namespace's previous contents,' which explains exactly what the destructive hint means in practice. It also discloses placement (stored on the project, not the skill) and visibility (shared with project collaborators). It does not cover permissions or error behavior on an unknown project_id.

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 purpose and the alternative are front-loaded in the first two sentences, followed by a compact args block. The args section repeats some ground already covered in prose (the namespace rationale appears twice), which is minor redundancy rather than noise.

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 three-parameter mutation with no output schema, the definition covers what is stored, where it lives, who sees it, and that prior namespace contents are replaced. Return behavior is not described, but there is no output schema to suggest a meaningful payload.

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 carries the full burden, and it documents all three parameters: project_id (the target), namespace (with the rationale that namespacing prevents skills from overwriting each other), and values (a dict whose contents are replaced each call). The arbitrary nested shape of values is only characterized as 'a dict of config values,' leaving its internal keys unspecified.

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?

States a specific verb and resource ('Save skill-specific client config on a project') and immediately concretizes it with examples (expert rosters, clusters, style rules). It also distinguishes itself from the sibling that handles standard fields, so an agent can tell the two apart without opening either schema.

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

Usage Guidelines5/5

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

Gives an explicit use condition ('values a skill needs that aren't standard project fields') and an explicit exclusion routing standard fields (keywords, competitors, locations) to add_tracked_keywords. The only soft spot is that the read counterpart get_project_config is not named, but the routing guidance for the write decision is complete.

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

Deploy Server

Other Tools