Skip to main content
Glama

Blog2Social - Social Media Publishing

Server Details

Connect AI agents to Blog2Social and automate social media content workflows via MCP.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
Adenion/blog2social-api-mcp
GitHub Stars
0
Server Listing
Blog2Social MCP Server

TDQS

A4.2/5.0

Scored across 8 tools

Disambiguation4/5

The tools are mostly distinct, targeting different resources (connections, networks, posts, videos). However, networks.list and networks.list_properties both deal with network metadata and could be confused for some queries, though their descriptions clarify the difference.

Naming Consistency5/5

All tool names follow a consistent dot-notation pattern: resource.action (e.g., connections.add, networks.list). This is predictable and easy to parse.

Tool Count4/5

8 tools is reasonable for the domain, covering connection management, network info, posting, and video status. However, it leans slightly lean; a tool to update or delete posts might be expected.

Completeness4/5

The toolset covers connecting/disconnecting accounts, retrieving network capabilities, creating posts, and checking video status. However, there is no tool to update or delete a post, and no scheduling support, which are common social media features.

Available Tools

8 tools
connections.addStart connecting a social accountAInspect

Starts authorization for a social network account. Get network_id and a supported account type from networks.list; network_type_id 0 means profile, 1 page and 2 group. The response contains an auth_link for the user to open and authorize Blog2Social. Pinterest is an exception: it requires a custom application (service_conditions_id) and does not return an auth_link.

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNoOptional language for the authorization flow, for example en or de.
network_idYesSocial media network ID returned by the networks.list tool.
network_type_idYesConnection type: 0 = profile, 1 = page, 2 = group.
service_conditions_idNoOptional service conditions ID for using a custom application.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations declare non-readonly, open-world, non-idempotent behavior; the description adds real substance beyond that — the response contains an auth_link the user must open, and Pinterest lacks that link and instead needs a custom application (service_conditions_id). This is valuable flow-level disclosure for an external authorization tool.

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 tight sentences, front-loaded with the core action, then dependencies, then the exception. No filler and every sentence carries information.

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 an output schema present and annotations covering the safety profile, the description does not need to explain return values; it still adds the crucial auth_link and Pinterest caveats. An agent has everything needed to invoke this correctly in-sequence after networks.list.

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 parameter meaning is already fully documented; the description largely repeats it (network_type_id meanings, network_id source). The only genuine addition is tying service_conditions_id to the Pinterest custom-application case, which is marginal beyond what the schema states.

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 ('Starts authorization for a social network account') and is clearly distinguishable from siblings like connections.list and connections.remove. The scope (an OAuth-style authorization flow) is unambiguous without opening the schema.

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?

Gives clear context: obtain network_id and account type from networks.list before calling, and calls out the Pinterest exception with its special requirement. It does not explicitly say when NOT to use this versus connections.remove/list, but the flow condition is well implied.

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

connections.listList connected social accountsA
Read-onlyIdempotent
Inspect

Returns the social accounts currently connected to the authenticated Blog2Social user, with details such as the network, account type and display name. Use an account client_user_network_id in posts.create to choose where to publish.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds the scope (accounts for the authenticated user) but no auth requirements, rate limits, or pagination context beyond what the annotations and output schema supply.

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 with no filler: the first defines what is returned and what fields it carries, the second front-loads the actionable consumer instruction. Every sentence earns its place.

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 an output schema present, the description need not explain return values, yet it helpfully summarizes the key fields. For a zero-param read-only listing tool this is nearly complete; only deeper operational context (e.g., whether the list can be empty or span multiple networks) is absent.

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, which is the baseline-4 case. The description additionally clarifies the meaning of a field in the response (client_user_network_id) and how to consume it, adding value beyond the empty schema.

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?

States a specific verb and resource ('Returns the social accounts currently connected to the authenticated Blog2Social user') and enumerates the returned fields, so it is clearly distinguishable from connections.add/remove and networks.list. It does not name a sibling alternative explicitly, but the read-only listing scope is unambiguous.

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?

Gives concrete downstream guidance: use an account client_user_network_id in posts.create to choose the publish target, which tells an agent why it would call this tool. It lacks any explicit when-not or exclusion conditions, so it stops short of a 5.

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

connections.removeDisconnect a connected social accountA
DestructiveIdempotent
Inspect

Removes a social account connection from the authenticated Blog2Social user. Call connections.list first to get the account's client_user_network_id. After removal, the account can no longer be used for publishing unless it is connected again.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_user_network_idYesConnected social media account ID returned by connections.list.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so safety is partially covered structurally. The description adds real context beyond them: the concrete consequence that the account can no longer be used for publishing unless reconnected.

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 tight sentences, front-loaded with the operation, then prerequisite, then consequence. No filler or restated title.

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?

An output schema exists, so return values need no explanation. Prerequisite sourcing, destructive consequence, and reversibility ('unless it is connected again') are all covered for a one-parameter mutation tool.

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's schema description already states it is the ID returned by connections.list. The description's provenance note is therefore largely redundant, matching the baseline 3 when the schema does the work.

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+resource ('Removes a social account connection') scoped to the authenticated Blog2Social user. It is immediately distinguishable from the sibling connections.add, which performs the inverse operation.

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 instructs the agent to call connections.list first to obtain client_user_network_id, giving clear sequencing. It does not name an alternative tool for the same goal, but for a remove operation there is no meaningful sibling alternative.

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

credits.balanceCheck the Blog2Social API credit balanceA
Read-onlyIdempotent
Inspect

Returns the current credit balance of the authenticated Blog2Social API account. Publishing is not possible when the balance is 0, so check it if a post cannot be published.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds meaningfully beyond them with the business rule that publishing is impossible at a zero balance, though it says nothing about auth requirements, rate limits, or caching of the value.

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, both earning their place: the first defines the return, the second defines when the agent should call it. The action-defining content is front-loaded.

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?

An output schema exists, so return values need no explanation here. For a zero-parameter, read-only query the description supplies everything an agent needs: what it returns, the account scope, and the diagnostic condition that motivates calling 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?

The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. The absence of any parameter discussion is not a gap here.

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 ("Returns") and resource ("the current credit balance of the authenticated Blog2Social API account"), with the account scope made explicit. No sibling tool (connections.*, networks.*, posts.create, videos.check) covers balance, so the agent can identify it immediately.

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?

Gives an explicit trigger for invocation: check the balance "if a post cannot be published," which directly ties this tool to a failure scenario an agent will encounter. It doesn't name alternatives, but no sibling provides equivalent information, so no exclusion is needed.

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

networks.listList networks available to connectA
Read-onlyIdempotent
Inspect

Returns the social networks that can be connected to Blog2Social, including each network name, URL, network_id and whether profiles, pages or groups are supported. Use network_id and a supported network_type_id with connections.add to start connecting an account.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes

TDQS

A4.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered by structured data. The description adds only the shape of the result (which fields and support flags appear), which is content not behavior and largely duplicated by the output schema.

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, no filler: the first defines the result set, the second states how to use it. The most useful information (what you get) is front-loaded.

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 zero-parameter read tool with a full annotation profile and an output schema, nothing necessary is missing. The description supplies the workflow link to connections.add, which the structured fields cannot express.

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 the baseline of 4 applies. The identifiers mentioned (network_id, network_type_id) belong to the downstream connections.add call, not to this tool's own schema, so no parameter semantics need explaining here.

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?

Names a specific verb and resource ('Returns the social networks that can be connected to Blog2Social') and enumerates the returned fields (network name, URL, network_id, profile/page/group support). It also names the sibling it feeds into (connections.add), so an agent can distinguish it from connections.list and networks.list_properties.

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 states the workflow: take network_id plus a supported network_type_id and pass them to connections.add. That is clear context and a named alternative, but there is no when-not guidance (e.g., when to use networks.list_properties instead of this tool).

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

networks.list_propertiesGet posting requirements by network and account typeA
Read-onlyIdempotent
Inspect

Returns publishing capabilities and limits for each network and account type, such as supported media formats, video support and character limits. Check these requirements when preparing a post for a specific network and account type.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile is covered. The description adds value beyond that by naming the categories of data returned, which is useful behavioral context for a reference-lookup tool.

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 tight sentences with the capability description front-loaded and the usage cue second. No filler or redundant restatement of the title.

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 zero-parameter, read-only reference tool with an output schema already present and rich annotations, the description covers everything an agent needs: what it returns and when to call it. No return-value documentation is required.

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 the baseline is 4. The description correctly implies the lookup is keyed by network and account type at a higher level rather than via call arguments, and there is nothing further the schema needs to convey.

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 (Returns) and resource (publishing capabilities and limits per network and account type), with concrete examples of the data (media formats, video support, character limits). This clearly distinguishes it from siblings like networks.list (enumerates networks) and videos.check.

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 says when to consult it: 'Check these requirements when preparing a post for a specific network and account type.' That ties it to posts.create, but it does not name alternative tools or state exclusions.

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

posts.createPublish a post to a connected social accountAInspect

Publishes a post to the connected account identified by client_user_network_id. Use postFormat 0 for text or link posts (a link is optional), 1 for image posts, or 2 for video posts; image and video posts require mediaObjects. The response includes a publish_url for non-video posts. Video posts return a video_token to check with videos.check.

ParametersJSON Schema
NameRequiredDescriptionDefault
b2s_postsYesOne or more posts to publish to the selected account. Use postFormat 0 for text or links, 1 for images, and 2 for videos; image and video posts require mediaObjects.
client_user_network_idYesConnected social media account ID returned by connections.list. All posts in b2s_posts are published to this account.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations indicate a write operation (readOnlyHint=false, openWorldHint=true, idempotentHint=false), and the description adds useful behavior beyond annotations: publish_url is returned for non-video posts, video posts return a video_token for videos.check. It doesn't mention failure modes, rate limits, or auth requirements.

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, front-loaded with the core action and followed by format-specific rules and response differences. No filler. Every clause earns its place.

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 a rich input schema and an output schema, the description covers the essential behavioral differences (media requirements, response tokens). It could mention that all posts in b2s_posts go to the same account or that the operation is not idempotent, but those are minor gaps.

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 schema already documents parameters thoroughly. The description adds value by linking postFormat 0/1/2 to required companion fields (mediaObjects for 1 and 2) and explaining the response fields, which is semantic context beyond the schema text.

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 ('Publishes') and resource ('a post to the connected account') and identifies the exact target parameter client_user_network_id. This clearly distinguishes it from siblings like connections.list or videos.check.

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 explains postFormat values and when mediaObjects are required, and it names videos.check as the follow-up for video posts. It doesn't, however, state prerequisites like needing media uploaded first or limitations on which networks support which formats.

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

videos.checkCheck video post publishing statusA
Read-onlyIdempotent
Inspect

Checks the publishing status of a video post using the video_token returned by posts.create. Returns the status for each target social account: pending, failed or successful. A publish_url is included when publishing succeeds; check again while the status is pending.

ParametersJSON Schema
NameRequiredDescriptionDefault
video_tokenYesVideo token returned when the video upload was created.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely non-structured behavior: the pending/failed/successful outcome model and the instruction to re-poll while pending. It stops short of rate limits or timing guidance for the retry loop.

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 tight sentences with no filler; the tool's purpose, the token's origin, the possible outcomes, and the polling rule are all front-loaded in that order.

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 one-parameter read tool with an output schema and full annotations, nothing an agent needs is missing: the source of the token, the returned status values, the success-only publish_url, and the re-poll condition while pending are all stated.

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% with a single, well-described parameter, so the baseline is 3. The description adds only the provenance of video_token (returned by posts.create), which is useful context but not new syntax or format detail.

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 ('Checks the publishing status of a video post') and ties the input to its producer ('using the video_token returned by posts.create'), cleanly separating it from the sibling write tool posts.create. An agent can identify the tool's job without opening the schema.

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?

Gives the operative usage rule for a polling tool: 'check again while the status is pending', which tells the agent when to re-invoke. It also anchors the call to the posts.create workflow, though it names no explicit alternative or when-not condition.

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. 8 tool updates
    • First observedconnections.add
    • First observedconnections.list
    • First observedconnections.remove
    • First observedcredits.balance
    • First observednetworks.list
    • First observednetworks.list_properties
    • First observedposts.create
    • First observedvideos.check

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to post, schedule, thread, delete, and analyze social media posts across platforms like X, Bluesky, LinkedIn, and Instagram through a single MCP interface.
    1,814 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Schedule and manage social media posts across 10 platforms (Instagram, Facebook, TikTok, X, LinkedIn, YouTube, Threads, Pinterest, Bluesky, Telegram) from any MCP-compatible AI assistant. Supports batch posting, media uploads, analytics, and platform-specific features like Reels, Shorts, and carousels.
    11
    1,801 npm
    5
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables managing social media posts, accounts, and AI-powered content features from any MCP client, including scheduling, publishing, analysis, and AI caption generation.
    14
    200 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.