AgentSecure Community
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| agentsecure.policy.describeA | Inspect the current project's network rules and configured secret metadata before a secret-bearing HTTP request. Takes no arguments. Returns network (allowed domains/ports and IP restrictions), secret_aliases, project_bindings, and usage instructions; no secret values. Does not change policy or verify that credentials work. Use agentsecure.secret.status for one env name, or agentsecure.get_policy_hint for a Mesh action rather than HTTP destination policy. |
| agentsecure.secret.statusA | Check whether one environment name is assigned in the current project's secret configuration before using its ${ENV_NAME} placeholder. Returns exists and env_name; when configured, also returns source (vault_alias or project_binding), provider, mode, and alias metadata when applicable. This is a configuration lookup, not a vault-value or credential-validity check, and returns no secret value. Use agentsecure.policy.describe to list all configured aliases and bindings. Example: {"env_name": "API_KEY"}. |
| agentsecure.http.requestA | Send one HTTP(S) request that needs a configured secret, using ${ENV_NAME} placeholders instead of raw credentials. Checks project destination policy before resolving secrets and applies configured vault-alias host restrictions; calls without placeholders are blocked (use ordinary network tools for those). Performs the requested remote operation, does not follow redirects, and revokes temporary alias grants afterward. Returns blocked=false, status, reason, headers, and a UTF-8 body, with response body/header values sanitized for known secrets; HTTP error statuses are still responses. Blocked calls return blocked=true, reason, rule_id, and sometimes allow_command; configuration errors may instead be MCP errors. This is not a sandbox for other network tools. Example: {"url": "https://api.example.com/me", "headers": {"Authorization": "Bearer ${API_KEY}"}} requires that host and API_KEY to be configured and approved. |
| agentsecure.identityA | Look up or register identities in the local Community Mesh store. By default, agent_id returns exists plus that identity's metadata (or exists=false if unknown); omitting agent_id returns an agents array sorted by ID. Set register=true with a non-empty agent_id to create or overwrite its record and write an audit event; returns the saved identity. Registration replaces rather than merges metadata. Identity labels, trust_level, and allowed_scopes do not authenticate callers or grant permissions. Example: {"agent_id": "backend-agent"}. |
| agentsecure.check_messagesA | Check local inbox counts before answering whether this agent has messages or approvals. Returns agent_id, unread_count, pending_approval_count, and a notice, not message content. Pending approvals are those assigned to the agent or its registered team, not all requests created by it. Does not mark messages read. Use agentsecure.list_messages for records and agentsecure.read_message to acknowledge one. Example: {"agent_id": "backend-agent"}. |
| agentsecure.list_messagesA | List messages addressed to one agent in the local Community Mesh store. Returns agent_id and a messages array, newest first (empty if none). Each record includes message_id, sender/recipient, subject, resource, status, thread IDs, and timestamps. Body is [redacted]; body_summary may retain up to 120 characters and body_sha256 is a digest, not recoverable full content. Does not mark messages read. Use agentsecure.check_messages for counts only or agentsecure.read_message to mark a specific record read. Example: {"agent_id": "backend-agent", "include_read": true}. |
| agentsecure.read_messageA | Retrieve and acknowledge one local Mesh message after listing the inbox. Requires agent_id to match the record's recipient; an unknown ID or a different recipient causes an error. Returns the message record with status=read and read_at; the first read updates local state and audit. Re-reading returns the same acknowledged record. Body remains [redacted], with only body_summary/body_sha256 available; this does not recover original text. Use agentsecure.list_messages to inspect without marking read. The recipient check compares caller-supplied IDs, not authenticated identities. |
| agentsecure.send_messageA | Create a new unread message in the local Community Mesh store for another agent. Checks the sender's send_message policy and resource approval requirements. Returns blocked=false and message (including message_id/thread_id), or blocked=true with reason and allowed_next_step. Stores/audits a redacted body, digest, and heuristic summary, not the full text; never put secrets in the input. Does not launch/wake the recipient, contact a remote service, or prove the recipient read it. Use agentsecure.reply_message to respond in an existing thread. Example: {"from_agent": "frontend-agent", "to": "backend-agent", "body": "Please review src/app.py."}. |
| agentsecure.reply_messageA | Reply to a local Mesh message addressed to from_agent. Marks the original read first, then checks send_message policy and creates a type=reply message to the original sender, preserving thread_id and resource and setting reply_to. Returns blocked=false and message, or a policy denial with blocked=true, reason, and allowed_next_step; the original can remain read even if sending is blocked. Unknown messages or recipient mismatches cause an error. Reply body is redacted with a summary/hash, not full-text delivery. Use agentsecure.send_message for a new thread. |
| agentsecure.request_approvalA | Create a local pending approval record when a Mesh policy hint requires human review. Returns an approval object with approval_id, status=pending, requested_by, action, resource, required_approver, and timestamps; reason is redacted with a summary/hash. Writes local state and audit but does not send a message, notify a human, execute the action, or change policy. Repeated calls create separate requests. Use agentsecure.get_approval_status with the returned ID; approval decisions are made outside these MCP tools. An approved record does not automatically unblock policy. Example: {"requested_by": "frontend-agent", "action": "deploy_preview", "reason": "Please review the preview deployment."}. |
| agentsecure.get_approval_statusA | Read a previously created local approval without changing it. Returns an approval object with status (pending, approved, denied, or needs_info), action/resource, required_approver, and recorded decision details/timestamps. Reason text remains redacted with summary/hash metadata. Unknown IDs cause an error. This tool neither requests nor grants approval, and an approved record does not execute an action or automatically lift policy restrictions. Use agentsecure.request_approval to create a request and agentsecure.get_policy_hint to inspect current action policy. |
| agentsecure.get_policy_hintA | Evaluate a proposed Mesh action against the current local agent policy without executing it. Checks cannot, can_message (when a send_message target is supplied), requires_human_for, and sensitive markers in action/resource. Returns allowed, blocked, reason, action, sanitized resource, and allowed_next_step. This is guidance, not an authorization token or a guarantee about external permissions; existing approval records are not consulted. Use agentsecure.request_approval to record a review request, or agentsecure.policy.describe for HTTP network/secret configuration. Example: {"agent_id": "frontend-agent", "action": "send_message", "target": "backend-agent"}. |
| agentsecure.audit_contextA | Inspect recent local Mesh history for troubleshooting messages, registrations, approvals, or policy denials. Returns an events array containing only mesh.* records from the configured audit log, optionally filtered by resource, with the last limit matches in log order (oldest first within that slice). A missing log returns an empty array and malformed JSON lines are skipped. Does not change state or include non-Mesh HTTP/secret audit events. Text fields may be redacted with summary/hash metadata; this is not an immutable audit service. Example: {"limit": 10}. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
This server cannot be deployed
TDQS
Scored across 13 tools
Each tool targets a distinct action+resource: inbox counts vs. message records vs. acknowledgement are split across check_messages/list_messages/read_message, and policy inspection is split cleanly into policy.describe (HTTP/secret config), secret.status (single env), and get_policy_hint (Mesh actions). Descriptions actively cross-reference the correct sibling tool for each adjacent use case, leaving little room for misselection.
All names share the agentsecure. namespace, but the suffix conventions are mixed: dotted resource.action forms (policy.describe, secret.status, http.request) coexist with verb_noun forms (send_message, list_messages, request_approval), and agentsecure.identity has no verb at all. Still readable, but not a predictable single pattern.
13 tools is well within a comfortable range and each maps to a distinct facet of the mesh (messaging, approvals, identity, policy, secrets/HTTP, audit). No filler or redundant tools are apparent.
Messaging (send/list/read/reply/count), approvals (create/read), identity (lookup/register), policy inspection, secret-aware HTTP, and audit retrieval are all covered. Minor gaps remain: no way to cancel or withdraw a pending approval, no message deletion/archival, and no bulk listing of approvals, but agents can work around these.