Skip to main content
Glama

Server Details

Let agents send content-free push notifications to a paired phone via MCP.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 73 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
alfongj-com/yo-plugin
GitHub Stars
0

TDQS

A4.2/5.0

Scored across 5 tools

Disambiguation4/5

Most tools have clearly distinct purposes (register, check, yo), but cancel_registration and revoke_self both terminate a connection and could be confused at a glance. The descriptions do clarify their different conditions and timing, reducing ambiguity.

Naming Consistency4/5

Four of five tools follow a consistent snake_case verb_noun pattern (cancel_registration, check_registration, register_agent, revoke_self). The single-word 'yo' deviates from that pattern, though it is still readable and unique.

Tool Count5/5

Five tools is well-scoped for a focused agent-registration and notification service. Each tool earns its place: register, check, cancel, revoke, and send notification.

Completeness5/5

The tool set covers the full lifecycle: registration, status polling, cancellation, permanent revocation, and sending the core Yo notification. No obvious gaps for the stated domain.

Available Tools

5 tools
cancel_registrationAInspect

Abort a pairing you started with register_agent. Works while pending and after approval: an already-approved connection is revoked (the API key stops working) so a pairing approved by the wrong account can be undone. Available until the pairing expires, and for 15 minutes after you pick up the API key; later than that, use revoke_self. Then call register_agent again.

NameRequiredDescriptionDefault
claim_tokenYesThe claim_token returned by register_agent (authorizes the cancellation)
pairing_codeYesThe pairing code returned by register_agent

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only indicate readOnlyHint=false, which signals mutability. The description adds crucial behavioral context: the tool revokes the API key for already-approved pairings, works both pending and after approval, and has a specific time window. This goes well beyond what annotations provide, making the side effects and constraints explicit.

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, consisting of three sentences that each carry essential information. It front-loads the primary purpose, then adds timing and alternative guidance, and finally suggests the follow-up action, all without redundancy or unnecessary filler.

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?

Despite having no output schema, the description fully covers the operational scope: what the tool does, when it is usable, what happens after use (API key stops working), and what to do next. The sibling tools and parameter schema provide enough context to invoke correctly without additional clarification.

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?

The input schema already provides complete descriptions for both parameters (claim_token and pairing_code) with 100% coverage. The description does not add additional parameter-level detail, but the schema fully documents them, so a baseline score of 3 is appropriate.

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: 'Abort a pairing you started with register_agent.' It clearly distinguishes the tool from the sibling revoke_self by explicitly naming the alternative, ensuring an agent understands which operation this tool performs.

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?

The description provides explicit usage guidance, including when the tool is valid ('Available until the pairing expires, and for 15 minutes after you pick up the API key') and when to use an alternative ('later than that, use revoke_self'). It also instructs to call register_agent again afterward, giving complete context for proper usage.

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

check_registrationAInspect

Check the status of a pairing code from register_agent. On the first poll after the user approves, the response includes the api_key exactly once — store it immediately in your secret mechanism — plus paired_with, the account the agent is now connected to, which you MUST show the user.

NameRequiredDescriptionDefault
claim_tokenNoThe claim_token returned by register_agent; required to receive the api_key
pairing_codeYesThe pairing code returned by register_agent

TDQS

A4.2/5.0
Behavior4/5

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

It discloses critical, non-obvious behavior: the api_key appears exactly once, must be stored immediately, paired_with identifies the connected account, and the user must be shown that account. This goes well beyond the minimal annotations (readOnlyHint false).

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 sentences: the first states purpose, the second immediately highlights the critical response handling. No filler or redundant restatement of schema fields.

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?

With no output schema, the description covers the essential return values (api_key, paired_with) and required user action. It doesn't describe pending states or error scenarios, but for a small polling tool it is largely self-contained.

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?

Both parameters already have full descriptions in the schema, so the description adds little beyond naming pairing_code as coming from register_agent. It doesn't explain claim_token in its own words or add any new parameter-level semantics.

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 opens with a specific verb and resource: 'Check the status of a pairing code from register_agent.' This clearly distinguishes it from siblings like cancel_registration or register_agent by indicating a polling/read step in the registration flow.

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 gives clear usage context: poll after register_agent, with a specific behavior on the first poll after approval. It does not explicitly list exclusions or alternatives, but the intended workflow is evident.

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

register_agentAInspect

Register this agent with Yo (unauthenticated). Returns a pairing URL and code to show the user, who approves the connection in the Yo app. Then poll check_registration to obtain the API key.

NameRequiredDescriptionDefault
platformNoAgent platform (e.g. "cursor", "devin", "claude-code")
descriptionNoShort description of what this agent does
proposed_nameYesProposed display name for the agent (e.g. "banana", "devin-home-repo")

TDQS

A4.3/5.0
Behavior4/5

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

The description adds meaningful behavioral context beyond the sparse annotations (readOnlyHint=false, openWorldHint=false). It discloses the return type, the user approval flow, and the need for polling asynchronously. This adequately informs the agent about the tool's operational characteristics, though it doesn't cover edge cases like duplicate registrations.

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 a single sentence that is front-loaded with the primary purpose and flows logically to the return value and next steps. Every clause contributes necessary information without redundancy, making it appropriately concise.

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?

Given the simple tool (no output schema, all parameters documented, no nested objects), the description fully conveys the expected flow: register, receive pairing info, user approval, then poll a sibling tool. This is complete for an agent to invoke the tool correctly.

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?

The input schema has 100% coverage with clear descriptions for all three parameters (platform, description, proposed_name), including examples. The description adds no additional parameter explanation, so it meets the baseline for schema-heavy contexts without going beyond.

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 ('Register this agent with Yo'), the resource (agent with Yo), and the unauthenticated nature. It also distinguishes itself from sibling tools by describing the return value (pairing URL and code) and the follow-up step (poll check_registration), making it clear this is the initial registration step.

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 provides a clear usage context: use this to start registration, then poll check_registration for the API key. It explicitly mentions the alternative/sequel tool, which helps an agent decide when to use it. However, it doesn't mention when not to use it (e.g., if already registered), so it misses explicit exclusions.

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

revoke_selfAInspect

Permanently revoke THIS agent using its API key as the Bearer token. Use when you discover (at any time) that paired_with is not your owner’s account and cancel_registration no longer works. The key stops working immediately; call register_agent to start over.

NameRequiredDescriptionDefault
confirmYesMust be true — revocation is immediate and irreversible

TDQS

A4.4/5.0
Behavior4/5

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

The description discloses that revocation is permanent, immediate, and makes the key stop working. While annotations only indicate readOnlyHint=false, the description goes further by explaining the irreversible effect and the auth mechanism (API key as Bearer token), adding significant value beyond annotations.

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 concise sentences, each adding necessary information: the action, the condition to use it, and the consequence/next step. No filler or redundant wording.

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 tool with one param and no output schema, the description covers the purpose, usage condition, effect, and recovery path. It lacks only minor details like return value or error cases, but these are not critical given the tool's simplicity.

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 coverage is 100% and the single parameter (confirm) is fully described in the schema itself. The tool description does not add additional parameter semantics, but does not need to because the schema already provides complete meaning.

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 uses the specific verb 'revoke' and identifies the resource as 'THIS agent', clearly distinguishing it from sibling tools like cancel_registration. It also explicitly contrasts with cancel_registration, making its unique purpose unmistakable.

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?

Explicitly states when to use: 'when you discover ... that paired_with is not your owner's account and cancel_registration no longer works.' It also provides an alternative next step ('call register_agent to start over'), giving clear directional guidance.

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

yoAInspect

Send a Yo push notification to your owner. Recommended: include a short subject explaining what the notification is about, and a context_url when there is a useful link to open. The subject appears on the lock screen and in the app; avoid secrets. Requires an agent API key as the Bearer token.

NameRequiredDescriptionDefault
subjectNoRecommended: a short, specific subject explaining why you are notifying the user (1–120 characters, counted as Unicode code points), e.g. "PR ready for review". Plain text, one line; avoid secrets because it appears on the lock screen. Optional for compatibility with older agents.
context_urlNoOptional https or app deep-link URL opened when the user taps the notification

TDQS

A3.9/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false and openWorldHint=false, so the description carries real extra weight: it discloses the auth requirement ('Requires an agent API key as the Bearer token') and the privacy consequence that the subject appears on the lock screen and in the app, hence 'avoid secrets'. It stops short of describing delivery, rate limits, or failure behavior.

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?

Three short sentences, front-loaded with the action, then recommendations, then the auth caveat. Nothing is padding, though the parameter recommendations partially duplicate the schema descriptions.

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 two-parameter, zero-required tool with no output schema, the description covers purpose, both parameters, authentication, and the lock-screen/secret caveat. Minor gaps remain around result reporting and send frequency limits.

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 100%, so the schema already documents length limits, Unicode code-point counting, and https/deep-link formatting. The description restates the recommended usage of both fields (why to include a subject, when a context_url is useful) but adds little beyond that, so the baseline 3 applies.

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, resource and target: 'Send a Yo push notification to your owner.' That is unambiguous and cannot be confused with the sibling registration/revocation tools, none of which send messages.

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?

It implies the use case (notify the owner) and gives parameter-level recommendations ('include a short subject...', 'a context_url when there is a useful link'), but never states when to notify versus not to, nor any frequency/appropriateness limits. With no true alternative tool to route between, this is adequate but thin.

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.

  1. 1 tool update
    • Changedyo1 field changed
      • addedInput schema / properties / subject
        Added value: +{
        +  "description": "Recommended: a short, specific subject explaining why you are notifying the user (1–120 characters, counted as Unicode code points), e.g. \"PR ready for review\". Plain text, one line; avoid secrets because it appears on the lock screen. Optional for compatibility with older agents.",
        +  "minLength": 1,
        +  "type": "string"
        +}
  2. 2 tool updates
    • Addedcancel_registration
    • Addedrevoke_self
  3. 1 tool update
    • Changedcheck_registration1 field changed
      • addedInput schema / properties / claim_token
        Added value: +{
        +  "description": "The claim_token returned by register_agent; required to receive the api_key",
        +  "maxLength": 64,
        +  "type": "string"
        +}
  4. 3 tool updates
    • Removedcancel_registration
    • Changedcheck_registration1 field changed
      • removedInput schema / properties / claim_token
        Removed value: -{
        -  "description": "The claim_token returned by register_agent; required to receive the api_key",
        -  "maxLength": 64,
        -  "type": "string"
        -}
    • Removedrevoke_self
  5. 5 tool updates
    • First observedcancel_registration
    • First observedcheck_registration
    • First observedregister_agent
    • First observedrevoke_self
    • First observedyo

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables sending push notifications to phones and other devices from any MCP client, with tools for validating users, listing sounds, checking limits, and managing emergency receipts.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents and MCP clients to send and update live notifications to one or all paired devices, ask the user a question, and wait for a response they tap or type on Android, macOS, or the web.
    125,289 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables agents to publish messages to MQTT topics, which can be turned into phone notifications via the NotifyMQTT Android app.
    2
    MIT
  • A
    license
    D
    quality
    D
    maintenance
    Enables MCP agents to send desktop notifications for completed tasks, failures, and important updates, providing visible and reliable feedback.
    1
    23 npm
    2
    Apache 2.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.