Skip to main content
Glama
AiAgentKarl

agntcy-mcp-server

by AiAgentKarl

agntcy-mcp-server

MCP bridge for the AGNTCY multi-agent network — agent registry, ACP messaging, SLIM protocol, and capability discovery.

PyPI version License: MIT

What is AGNTCY?

AGNTCY (Agent Network for Generative and Cognitive Yield) is a Linux Foundation initiative with 65+ enterprise partners (Cisco, Dell, Google, Oracle, Red Hat) for standardized multi-agent communication.

Key protocols:

  • ACP (Agent Communication Protocol v1.14): Standard message format for agent-to-agent communication

  • SLIM (Secure Low-latency Interactive Messaging): Secure real-time communication with pub-sub and encryption

  • AGNTCY Directory: Service registry for agent discovery

Related MCP server: MachineHearts

Features (7 Tools)

Tool

Description

register_agntcy_agent

Register an agent in the local AGNTCY directory

discover_by_capability

Find agents by capability (ranked by relevance)

create_acp_message

Create ACP v1.14 compliant messages

validate_acp_message

Validate ACP message against spec

format_slim_message

Format SLIM secure messages

get_agntcy_network_info

AGNTCY ecosystem info (protocols, members, SDKs)

list_agntcy_agents

List registered agents with filters

Installation

pip install agntcy-mcp-server

Usage with Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "agntcy": {
      "command": "agntcy-server"
    }
  }
}

Example Usage

Register an agent:

register_agntcy_agent("DataBot", "Analyzes datasets", ["data-analysis", "summarization"], "https://databot.example.com")

Discover agents by capability:

discover_by_capability("data-analysis")

Create an ACP message:

create_acp_message("agent-1", "agent-2", "Please analyze this dataset", "request")

Format a SLIM message:

format_slim_message("agent-1", "tasks/analysis", "dataset payload", encrypted=True)

License

MIT

Available Tools

7 tools
tool_create_acp_messageA

Create an ACP-compliant message (Agent Communication Protocol v1.14).

ACP is the AGNTCY standard for structured agent-to-agent communication. Message types: request, response, notification, error.

Args: sender_id: ID or name of the sending agent receiver_id: ID or name of the receiving agent content: Message content message_type: Message type: "request", "response", "notification", "error" thread_id: Optional thread ID for multi-turn conversations

ParametersJSON Schema
NameRequiredDescriptionDefault
sender_idYes
receiver_idYes
contentYes
message_typeNorequest
thread_idNo

TDQS

A3.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden. It only says 'create' but does not disclose behavioral traits such as whether the message is stored, sent, or returned, nor any side effects, error behavior, or authentication requirements.

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 reasonably concise; the first sentence states the purpose, and the Args list is structured. It could be slightly shorter, but given five parameters, the length is justified.

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 covers the tool's purpose and parameters but omits important contextual information: no return value description, no error handling details, and no guidance on thread_id usage for multi-turn conversations, which would enhance completeness.

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?

The input schema has 0% description coverage, so the description's Args section fully compensates by explaining each parameter's purpose, including the message_type options and thread_id optionality, adding meaning beyond the schema property names.

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 creates an ACP-compliant message, specifies the protocol version (v1.14), and lists message types, distinguishing it from sibling tools like validation or formatting.

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 clear context for when to use the tool (creating ACP messages) and lists the message types, but does not explicitly exclude when not to use it or compare with alternatives like tool_format_slim_message.

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

tool_discover_by_capabilityB

Find AGNTCY agents by capability in the local directory.

Searches registered agents by capabilities, name and description. Ideal for task routing and agent selection in multi-agent systems.

Args: capability: Capability to search for (e.g. "data-analysis", "translation") limit: Max number of results (default: 10)

ParametersJSON Schema
NameRequiredDescriptionDefault
capabilityYes
limitNo

TDQS

B3.3/5.0
Behavior2/5

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

No annotations exist, so the description carries full burden. It describes the search action but lacks details on return format, emptiness handling, errors, or side effects. Minimal behavioral insight beyond the basic operation.

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 short and starts with a clear action statement. The extra sentence about searching by name/description is slightly redundant and misleading, but overall the structure is efficient and the Args section is well-organized.

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 lack of output schema and annotations, the description is adequate for basic understanding but incomplete. It fails to mention return value structure, pagination, or error behavior, and the unsupported claim about name/description search creates confusion.

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 adds value by providing examples for 'capability' ('e.g. "data-analysis", "translation"') and clarifying the default for 'limit' ('default: 10'). However, no format or constraints are specified beyond examples.

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 it finds agents by capability, with specific verb and resource. However, it also claims to search by name and description, but the schema only includes a 'capability' parameter, creating a minor inconsistency that reduces clarity.

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 indicates it is 'Ideal for task routing and agent selection,' providing context, but it does not explicitly differentiate from siblings like 'tool_list_agntcy_agents' or state when not to use this tool.

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

tool_format_slim_messageB

Format a SLIM message (Secure Low-latency Interactive Messaging).

SLIM is the AGNTCY protocol for secure real-time agent communication. Supports pub-sub, end-to-end encryption and low latency.

Args: sender_id: ID of the sending agent channel: SLIM channel (e.g. "tasks/analysis", "alerts/security") payload: Message content encrypted: Whether to encrypt the message (default: True)

ParametersJSON Schema
NameRequiredDescriptionDefault
sender_idYes
channelYes
payloadYes
encryptedNo

TDQS

B3/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 encryption and low latency but does not disclose whether the tool sends the message, requires network access, or has side effects. The return value is not described.

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 front-loaded with purpose, followed by protocol context and a bulleted argument list. It is efficient with no fluff, though the protocol explanation could be condensed.

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

Completeness2/5

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

Missing return value description, error handling, and usage differentiation among siblings. Given no output schema, the agent needs to know what the tool returns. Without that, completeness is low.

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 each parameter with context (e.g., examples for channel, default for encrypted). This adds meaning beyond the bare schema, compensating for the 0% schema description coverage.

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?

Clearly states the tool formats a SLIM message and explains the protocol. However, it does not explicitly distinguish from sibling tool tool_create_acp_message, which also involves message creation.

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 like tool_create_acp_message. The description lacks usage context or preconditions.

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

tool_get_agntcy_network_infoA

Get information about the AGNTCY network and ecosystem.

Shows protocol versions, member organizations, SDKs and current stats of the AGNTCY multi-agent network (Linux Foundation project, 65+ members).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses the tool is a read operation ('Get information') and provides context about the network project, but does not mention any behavioral traits like data freshness, auth requirements, or rate limits. For a simple info tool, this is adequate but not exemplary.

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 two concise sentences that front-load the purpose and add context efficiently. 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 no parameters, no output schema, and a simple purpose, the description is largely complete. It mentions the network project and what is shown. However, it could briefly note that it is a read-only query, but the term 'Get' implies that. Slightly incomplete without any mention of potential latency or data source.

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 has zero parameters with 100% schema coverage, so the baseline is 4. The description adds value by listing what information is returned (protocol versions, member organizations, SDKs, stats), going beyond the empty 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 retrieves information about the AGNTCY network and ecosystem, specifying what it includes (protocol versions, member organizations, SDKs, stats). This distinguishes it from siblings that deal with messages, agents, or validations.

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 implies usage when network info is needed, and the sibling tools cover different functionalities (messages, agents, capabilities), making the context clear. However, no explicit guidance on when not to use or alternatives is provided.

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

tool_list_agntcy_agentsA

List all locally registered AGNTCY agents.

Shows all agents in the local AGNTCY directory with optional filter by capability or organization.

Args: filter_capability: Optional: only show agents with this capability filter_org: Optional: only show agents from this organization

ParametersJSON Schema
NameRequiredDescriptionDefault
filter_capabilityNo
filter_orgNo

TDQS

A3.7/5.0
Behavior2/5

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

No annotations provided. The description does not disclose behavioral traits beyond the basic listing operation, such as pagination, idempotency, or security implications. The burden falls solely on the description, which is insufficient.

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 clear one-line statement of purpose followed by parameter explanations. No wasted words.

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 no annotations and no output schema, the description covers the core functionality and parameter usage. However, it lacks details about return format, error handling, or any limits, which would be expected for a 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 clear meaning for both parameters: 'only show agents with this capability' and 'only show agents from this organization'. This compensates for the lacking schema descriptions.

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 locally registered AGNTCY agents' with a specific verb and resource. It distinguishes from sibling tools like tool_discover_by_capability by focusing on local agent listing with optional filters.

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 explains when to use (to list agents with optional filters) but lacks guidance on when not to use or alternatives. With siblings like tool_discover_by_capability, explicit comparisons would help.

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

tool_register_agntcy_agentB

Register an agent in the local AGNTCY-compatible directory.

Creates an AGNTCY Directory Entry with ACP-compatible profile. The agent becomes discoverable via discover_by_capability.

Args: name: Agent name (e.g. "DataAnalysisAgent") description: What the agent does capabilities: List of capabilities (e.g. ["data-analysis", "web-search"]) endpoint: URL or address where the agent is reachable organization: Optional: organization behind the agent

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
descriptionYes
capabilitiesYes
endpointYes
organizationNo

TDQS

B3.2/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 carry the burden. It mentions registration and discoverability but fails to disclose whether the tool overwrites existing entries, requires specific permissions, or has side effects. Critical behavioral context is missing.

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

Conciseness3/5

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

The description is moderately concise with 8 sentences, but it includes a docstring-style 'Args:' list that repeats parameter information. Some sentences could be merged to reduce redundancy.

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

Completeness2/5

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

For a tool with 5 parameters, no output schema, and no annotations, the description is incomplete. It lacks details about return value, error handling, idempotency, and whether registration updates or fails on duplicates. This leaves uncertainty for the agent.

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 description adds meaning by listing each parameter with a brief explanation (e.g., 'Agent name (e.g. "DataAnalysisAgent")'), compensating for the 0% schema description coverage. However, it does not provide constraints, validation rules, or format details 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 'Register an agent in the local AGNTCY-compatible directory' and explains that it creates an AGNTCY Directory Entry with an ACP-compatible profile. It is distinct from siblings like discover_by_capability and list_agntcy_agents, which are about discovery and listing.

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 usage by stating the agent becomes discoverable via discover_by_capability, but it does not explicitly state when to use or when not to use this tool, nor does it mention alternatives among siblings.

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

tool_validate_acp_messageC

Validate an ACP message against the v1.14 specification.

Checks required fields, types and formatting against the AGNTCY Agent Communication Protocol standard.

Args: message: ACP message as dictionary

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description must carry full burden. It confirms validation against a standard but doesn't disclose side effects (e.g., read-only nature), auth needs, or error behavior. Minimal behavioral context.

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?

Description is brief and front-loaded with purpose. Two sentences plus args line, no fluff. Could be slightly more structured but fine for a simple tool.

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

Completeness2/5

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

Missing output behavior (e.g., pass/fail indicators), no return value description. No output schema exists, so description should compensate. Lacks link to spec or examples.

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 0%, but description adds meaning by stating 'message: ACP message as dictionary'. However, no details on expected structure or sub-fields are given.

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 validates an ACP message against v1.14 specification, specifying verb and resource. It distinguishes from siblings like tool_create_acp_message but lacks explicit differentiation from tool_format_slim_message.

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. No mention of prerequisites, when not to use, or suggested sibling tools for context.

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. 7 tool updatesv0.1.0
    • First observedtool_create_acp_message
    • First observedtool_discover_by_capability
    • First observedtool_format_slim_message
    • First observedtool_get_agntcy_network_info
    • First observedtool_list_agntcy_agents
    • First observedtool_register_agntcy_agent
    • First observedtool_validate_acp_message

TDQS

A3.5/5.0

Scored across 7 tools

Disambiguation4/5

Most tools have distinct purposes, but list_agntcy_agents and discover_by_capability both involve searching agents by capability, creating potential confusion. Descriptions help differentiate (listing all vs. searching by capability), but overlap reduces clarity.

Naming Consistency4/5

Tool names follow a consistent verb_noun pattern (e.g., create_acp_message, register_agntcy_agent). However, discover_by_capability deviates by including a preposition, and some names use 'agntcy' while others use 'ACP' or 'SLIM', showing minor inconsistency.

Tool Count5/5

With 7 tools covering message creation, validation, agent registration, discovery, and network info, the count is well-scoped for an agent communication server. No tools feel redundant or excessive.

Completeness3/5

The set covers core functionality (message create/validate, agent register/discover) but lacks update/delete for agents and send/receive for messages. These gaps limit full lifecycle management, though they may be intentional for a client-side library.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides a unified registry for discovering and managing agents that implement the A2A (Agent-to-Agent) protocol, enabling registration, querying, and CRUD operations on agent metadata through both REST API and MCP tools.
    4 npm
    3
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server that gives AI agents the ability to discover, match with, and build relationships with other autonomous agents. Supports agent registration, matchmaking, messaging, shared goals, relationship lifecycle management, and real-time event subscriptions.
    16 npm
    MIT
  • A
    license
    A
    quality
    F
    maintenance
    Enables agent-to-agent discovery and delegation via MCP, with tools for registering agents, discovering them by keyword matching, and delegating tasks over HTTP.
    4
    4 npm
    1
    MIT