Skip to main content
Glama

Server Details

SMS verification codes for Georgia (+995), sent and checked. Try test codes with a free test key.

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 22 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A4.7/5.0

Scored across 5 tools

Disambiguation5/5

Each tool maps to a distinct action-resource pair: start/check verification, send/get message, and create a test key. The only near-overlap is that start_verification and send_message both dispatch SMS, but names and descriptions clearly separate verification codes from transactional templates.

Naming Consistency5/5

All five tools use snake_case verb_noun naming: start_verification, check_verification, send_message, get_message, create_test_key. There are no mixed conventions or vague names.

Tool Count5/5

Five tools are well within the appropriate range for this focused SMS verification/messaging service. Each tool supports a distinct part of the workflow, and create_test_key is justified for integration setup.

Completeness4/5

The core lifecycle is covered: start and check verification, send and read messages, plus test credentials. Minor gaps remain, such as listing message history or inspecting templates/team numbers, but these are largely dashboard-managed and do not block core workflows.

Available Tools

5 tools
check_verificationCheck a verification codeAInspect

Check the code the human typed, for the number the code was sent to. The result is the verification only when it is approved; every other outcome is a tool error with an error.code. Let the user in only when a check answers 200 with status approved; treat every other answer, a timeout and a network error as not approved.

Errors: incorrect_code (attempts remain), too_many_attempts (start a new verification), recipient_mismatch (to is not the number the code was sent to), verification_expired, verification_closed (already approved or replaced), verification_not_found. A wrong code costs an attempt, and five close the verification: do not retry a check by yourself; ask the human for the code again.

NameRequiredDescriptionDefault
toYesThe number the code was sent to, which your application is about to mark as verified.
codeYesThe six digits the human typed, as a string.
api_keyNoAn sk_test_ key, for example from create_test_key. Leave it out to use the key in this MCP server's Authorization header. A live key (sk_live_) is refused here: tool arguments are kept in the conversation, so a live key belongs in the header.
verification_idYesThe verification `id` from start_verification (ver_…).

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only say it is non-read-only, non-idempotent and non-destructive. The description adds substantial behavior the annotations cannot carry: the five-attempt budget that closes a verification, the fact a wrong code costs an attempt, and a full error taxonomy with meanings (recipient_mismatch, verification_closed, verification_expired, etc.).

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?

Front-loaded with the action, then outcome semantics, then the error list — a sensible order. It is slightly redundant, stating the 'approved only, everything else is not approved' rule twice in adjacent sentences, but nothing is 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?

There is no output schema, so the description must carry return semantics, and it does: the success signal (200/approved) and every error code with its meaning and required follow-up. An agent has everything needed to call it and interpret the result.

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 all four parameters are already documented, including the api_key convention and the `to` pattern. The description adds flow context around `to` (it must match the number the code was sent to, else recipient_mismatch) but no format or syntax beyond the schema, 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 states a specific verb and resource — checking the code the human typed against the number it was sent to — and frames the outcome (verification only on approval). An agent can distinguish this from start_verification, which creates verifications rather than checking them.

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?

It gives explicit decision rules: only admit the user on a 200/approved result, treat every other answer, timeout and network error as not approved, never self-retry, and ask the human for a new code. The `too_many_attempts` branch even points to starting a new verification as the alternative path.

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

create_test_keyGet a NOTIFY test keyAInspect

Get an sk_test_ API key instantly, with no account and no human. A test key never sends a real SMS and never spends credits, so a whole integration can be built and verified with it. Pass it as api_key to send_message and get_message, and keep it in the application's configuration (for example NOTIFY_API_KEY), never in source code. The result also has a claim_url for a human: opening it lets them sign in and take over the project. Anyone who opens it, signs in and confirms becomes the owner: give it only to the person who will own the project, and do not paste it into shared logs or tickets. Real SMS need an sk_live_ key that the human creates on the dashboard (https://n0t1fy.dev/dashboard). Limited to a few keys per minute and per day for each address: reuse a key you already have.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=false and destructiveHint=false; the description adds substantial behavioral context: the key never sends a real SMS or spends credits, the claim_url transfers ownership to whoever confirms, and there are per-minute and per-day rate limits per address. It also flags the secret-handling risk (never in source, logs, or tickets).

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 action is front-loaded in the first sentence and each subsequent sentence carries distinct weight (security, ownership, live-key alternative, rate limits). It runs long and could be tightened, but there is little pure 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?

With no output schema, the description compensates by explaining the returned fields (api_key and claim_url) and how to use them. Combined with secret-handling and rate-limit guidance, an agent has everything needed to call it and handle the result safely.

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 tool takes zero parameters, so per the rubric the baseline is 4. The description instead documents how the returned value should be consumed, which is useful but not a parameter-semantics contribution.

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 states a specific verb and resource: 'Get an sk_test_ API key instantly,' and immediately names the concrete artifact returned (sk_test_ key, claim_url). The resource (a test API key) is unmistakably distinct from the sibling tools get_message and send_message, which consume the key rather than produce it.

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?

It gives explicit when-to-use (build and verify an integration without spending credits) and when-not-to-use (real SMS need an sk_live_ key created on the dashboard), plus the alternative of reusing an existing key. It also states exactly where the key goes (api_key to send_message/get_message, config not source) and who may use the claim_url.

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

get_messageRead a message's statusA
Read-onlyIdempotent
Inspect

Read the current state of a message sent with a key of the same project. Poll only while status is queued or submitted: delivered, undeliverable and failed are final, and unknown never changes. Wait about 2 seconds before the first read and double the wait each time, up to 30 seconds. Always set a time limit (two minutes is generous for a test message); when it passes, treat the message as unconfirmed and do not send it again.

NameRequiredDescriptionDefault
api_keyNoAn sk_test_ key, for example from create_test_key. Leave it out to use the key in this MCP server's Authorization header. A live key (sk_live_) is refused here: tool arguments are kept in the conversation, so a live key belongs in the header.
message_idYesThe message `id` from send_message, such as msg_01J8….

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), but the description adds substantial behavior the annotations cannot convey: it is a polling loop, which states are final, backoff cadence, and a hard time limit with a do-not-resend rule. That is exactly the extra context an agent needs to avoid hammering the endpoint or double-sending.

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?

Front-loaded with the purpose, then the polling protocol in three tightly packed sentences. No filler; the timing numbers and terminal-state list are the operative content and every clause is actionable.

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?

No output schema exists, so the description carries the return-value burden — and it does so by enumerating the status lifecycle the caller will observe. Combined with the timeout and backoff guidance, an agent has everything needed to invoke and interpret this tool correctly.

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 100%, so the baseline is 3; the description goes beyond it by adding a cross-parameter constraint the schema does not state — the key must belong to the same project as the message being read. That reframes api_key as scoping rather than mere auth, which is a genuine, if modest, addition.

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 ('Read') and resource ('current state of a message'), and anchors the resource to 'a message sent with a key of the same project', which ties it directly to the send_message sibling. An agent can immediately tell this is the read/poll counterpart to send_message, not a send or key-creation tool.

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?

Exceptionally explicit: it says to poll only while status is queued or submitted, names the terminal states (delivered, undeliverable, failed) and the never-changing state (unknown), prescribes backoff (start ~2s, double, cap at 30s), and gives a timeout policy with the correct fallback action (treat as unconfirmed, do not resend). This is a complete when/when-not/how-often protocol.

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

send_messageSend a code by SMSA
Idempotent
Inspect

Send one transactional SMS to a Georgian mobile number. The text comes from a built-in template; there is no free text (every template: https://n0t1fy.dev/templates).

Team templates (service_down, service_up, incident_opened, support_ticket_urgent, job_failed, agent_alert) go only to numbers the project's owner confirmed on the dashboard's team page; with a test key, use the test numbers +995512345670 to +995512345679. A recipient_not_on_team error means the number is not confirmed on the team: ask the human to add it on the dashboard, and never retry by yourself. With a live key, a service or job must be a name on the owner's list there.

With a test key (sk_test_) nothing is really sent: a simulator answers. These recipients simulate outcomes: +995512345671 rejected (status failed); +995512345672 provider unreachable (error provider_unavailable: nothing was sent, retry with the same idempotency_key); +995512345673 ambiguous (status unknown); +995512345674 accepted, then undeliverable. Any other valid number is accepted, then delivered, within about 30 seconds. With a live key it sends a real SMS and spends one credit per segment.

Read message.status in the result. submitted: the provider accepted it, which is not yet delivery to the phone. failed: refused; message.error says why. unknown: it may or may not have been sent, so do not send it again automatically. replayed: true: this idempotency_key and request were already processed, and no second SMS was sent. Call get_message to learn the final outcome.

NameRequiredDescriptionDefault
toYesRecipient in E.164 format: `+9955` followed by eight digits. No other country or format is accepted, and numbers are never normalized on your behalf.
localeNoLanguage of the message: `ka` (Georgian, the default) or `en`.ka
api_keyNoAn sk_test_ key, for example from create_test_key. Leave it out to use the key in this MCP server's Authorization header. A live key (sk_live_) is refused here: tool arguments are kept in the conversation, so a live key belongs in the header.
templateYesWhich message to send. Message text is never free-form: every message is rendered from one of these templates. - `verification_code` (`code`): Your verification code is {code}. Do not share it with anyone. - `login_code` (`code`): Your sign-in code is {code}. If you did not request it, ignore this message. - `password_reset_code` (`code`, `minutes`): Your password reset code is {code}. It expires in {minutes} minutes. - `service_down` (`service`): Alert: {service} is down. Team only. - `service_up` (`service`): Resolved: {service} is up again. Team only. - `incident_opened` (`incident`): Urgent: incident {incident} needs attention. Team only. - `support_ticket_urgent` (`ticket`): Urgent: support ticket {ticket} is waiting for a reply. Team only. - `job_failed` (`job`): Failed: scheduled job {job} did not finish. Team only. - `agent_alert` (`agent`, `count`): {agent}: {count} new updates. Check your app. Team only. Team templates go only to numbers confirmed on the project's team on the dashboard (a test key: the test numbers only); any other number answers `403 recipient_not_on_team`. Every template, its blanks and who it may go to: /templates.
variablesYesValues for the template's placeholders, all as JSON strings. A `code` is 4 to 8 digits; `minutes` is 1 to 999; an `incident` or `ticket` 1 to 8 digits; a `count` 1 to 99; an `agent` `your_agent` or `ai_assistant`; a `service` or `job` a name on the project's team page (a live key). Values that look like a link, a web address, or a phone number are refused.
idempotency_keyYesA new unique value (a UUID) for each logical message. Reuse it only to retry the identical request: the retry then returns the original message instead of sending a second SMS.

TDQS

A4.4/5.0
Behavior5/5

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

Goes far beyond the annotations: test-key simulator behavior per recipient number, that a live send spends one credit per segment, that 'submitted' is not yet delivery, that 'unknown' must not be retried automatically, and that 'replayed: true' means no second SMS. This is exactly the operational context an agent needs before firing a side-effecting call.

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?

Well front-loaded: purpose, then access rules, then test behavior, then result interpretation. It is long and duplicates the template/placeholder list already present in the schema, which costs a point, but every paragraph carries operational value.

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 complex, side-effecting tool with no output schema, the description covers recipient restrictions, template semantics, idempotency behavior, and how to read message.status and message.error. An agent could call it correctly, including failure handling, from this text alone.

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%, so the baseline is 3. The description mostly restates what the template and idempotency_key schema entries already say (template list, no free text, reuse keys only for identical retries), though it adds the cross-field constraint that a team template combined with an unconfirmed recipient returns recipient_not_on_team.

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 opening sentence states a specific verb, resource, channel and geographic scope: 'Send one transactional SMS to a Georgian mobile number.' It also clarifies the hard constraint that text is never free-form. It does not differentiate itself from the sibling start_verification, which plausibly also triggers an SMS, so an agent must infer the boundary.

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 gives when-to-use conditions (team templates only to dashboard-confirmed numbers, test numbers with a test key), when-not (live key requires service/job names from the owner's list), and error routing ('ask the human to add it on the dashboard, and never retry by yourself'). It also routes to the sibling get_message for the final outcome, so nothing is left to inference.

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

start_verificationSend a verification code that NOTIFY makesA
Idempotent
Inspect

Verify a Georgian mobile number: NOTIFY makes a random six-digit code and sends it by SMS with a built-in template. The code is never shown to you: ask the human for the code they received, then call check_verification. A code works for 10 minutes and 5 checks, once; a new start for the same number replaces it.

With a test key (sk_test_), only the test numbers +995512345670 to +995512345679 are accepted and their code is always 000000; nothing is sent. At most 5 starts a minute go to one number, so spread test starts over the ten test numbers. +995512345671 simulates a refused SMS (status failed), +995512345672 an unreachable provider (error provider_unavailable: nothing was sent, retry with the same idempotency_key), +995512345673 an SMS that may or may not have arrived (still pending). With a live key it sends a real SMS and spends one credit.

replayed: true means this idempotency_key and request were already processed and no second SMS was sent; the verification it shows may say approved by then, which is not a check result. On too_many_verifications (5 an hour or 10 in a rolling 24 hours to one number), tell the human when they can try again (retry_at), and never retry by yourself.

NameRequiredDescriptionDefault
toYesThe phone number to verify, in E.164 format: `+9955` followed by eight digits. With a test key (`sk_test_`), only the test numbers +995512345670 to +995512345679 are accepted, and their code is always `000000`.
localeNoLanguage of the message: `ka` (Georgian, the default) or `en`.ka
api_keyNoAn sk_test_ key, for example from create_test_key. Leave it out to use the key in this MCP server's Authorization header. A live key (sk_live_) is refused here: tool arguments are kept in the conversation, so a live key belongs in the header.
templateNoWhich message carries the code. NOTIFY fills in the code, and the minutes where the template names them (10).verification_code
idempotency_keyYesA new unique value (a UUID) for each code you want sent. Reuse it only to retry the identical request: the retry then returns the original verification instead of sending a second SMS.

TDQS

A4.8/5.0
Behavior5/5

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

Annotations cover the safety/idempotency profile (readOnlyHint=false, idempotentHint=true, openWorldHint=true), and the description still adds substantial context beyond them: 10-minute/5-check code lifetime, one-time use, replacement semantics, test-key simulation behavior per test number, credit spend on live keys, `replayed: true` meaning, and the provider_unavailable retry rule with the same idempotency_key.

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?

Purpose and the check_verification handoff are front-loaded, and the test-key paragraph is a compact enumeration of edge cases. It is long and repeats the test-number range already present in the schema, but for a tool with this many failure modes most sentences earn their place.

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?

With no output schema, the description carries the return-value burden and does so: it explains `replayed: true`, the `failed` status for a refused SMS, `provider_unavailable` as an error with retry guidance, `pending` as inconclusive, and `too_many_verifications` with `retry_at`. Rate limits (5 starts/minute, 5/hour, 10/24h) and auth requirements for live vs test keys are all covered.

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 100%, so the baseline is 3, but the description adds meaning the schema does not: how idempotency_key interacts with `replayed: true`, that a new start replaces the previous code for the same number, and that the template determines the message that carries the code and the named 10-minute window. These are genuine semantic additions rather than restatement.

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?

Opens with a specific verb+resource ('Verify a Georgian mobile number') and immediately explains the mechanism: a random six-digit code sent by SMS via a built-in template. It also routes the agent to the natural sibling ('ask the human for the code they received, then call check_verification'), so the agent can distinguish this from check_verification without opening a 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 explicit when-to-use and when-not guidance: use check_verification after obtaining the human's code, use test numbers rather than one number for repeated test starts, and on too_many_verifications tell the human the retry_at time and 'never retry by yourself'. Alternatives and exclusions are both named.

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
    • Changedsend_message3 fields changed
      • changedInput schema / properties / template / description
        Previous value: -"Which message to send. Message text is never free-form: every message is rendered from one of these templates.\n\n- `verification_code` (`code`): Your verification code is {code}. Do not share it with anyone.\n- `login_code` (`code`): Your sign-in code is {code}. If you did not request it, ignore this message.\n- `password_reset_code` (`code`, `minutes`): Your password reset code is {code}. It expires in {minutes} minutes."New value: +"Which message to send. Message text is never free-form: every message is rendered from one of these templates.\n\n- `verification_code` (`code`): Your verification code is {code}. Do not share it with anyone.\n- `login_code` (`code`): Your sign-in code is {code}. If you did not request it, ignore this message.\n- `password_reset_code` (`code`, `minutes`): Your password reset code is {code}. It expires in {minutes} minutes.\n- `service_down` (`service`): Alert: {service} is down. Team only.\n- `service_up` (`service`): Resolved: {service} is up again. Team only.\n- `incident_opened` (`incident`): Urgent: incident {incident} needs attention. Team only.\n- `support_ticket_urgent` (`ticket`): Urgent: support ticket {ticket} is waiting for a reply. Team only.\n- `job_failed` (`job`): Failed: scheduled job {job} did not finish. Team only.\n- `agent_alert` (`agent`, `count`): {agent}: {count} new updates. Check your app. Team only.\n\nTeam templates go only to numbers confirmed on the project's team on the dashboard (a test key: the test numbers only); any other number answers `403 recipient_not_on_team`. Every template, its blanks and who it may go to: /templates."
      • changedInput schema / properties / template / enum
        Previous value: -[
        -  "verification_code",
        -  "login_code",
        -  "password_reset_code"
        -]New value: +[
        +  "verification_code",
        +  "login_code",
        +  "password_reset_code",
        +  "service_down",
        +  "service_up",
        +  "incident_opened",
        +  "support_ticket_urgent",
        +  "job_failed",
        +  "agent_alert"
        +]
      • changedInput schema / properties / variables / description
        Previous value: -"Values for the template's placeholders, all as JSON strings. A `code` is 4 to 8 digits; `minutes` is 1 to 999. Values that look like a link, a web address, or a phone number are refused."New value: +"Values for the template's placeholders, all as JSON strings. A `code` is 4 to 8 digits; `minutes` is 1 to 999; an `incident` or `ticket` 1 to 8 digits; a `count` 1 to 99; an `agent` `your_agent` or `ai_assistant`; a `service` or `job` a name on the project's team page (a live key). Values that look like a link, a web address, or a phone number are refused."
  2. 2 tool updates
    • Addedcheck_verification
    • Addedstart_verification
  3. 3 tool updates
    • First observedcreate_test_key
    • First observedget_message
    • First observedsend_message

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources