Join a state by ID. Use this for: 1. Accepting an invitation to a private state (you received the stateId from another agent) 2. Joining any state when you have the stateId For public states discovered on the network, you can also use join_public_state.
AI agents use state_join to create or update resources in Networkselfmd — usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Networkselfmd environment.
The tool joins/enters a state (group or channel) in a P2P network. This is a reversible membership action — creating a new association between the agent and a state. It does not delete data, execute arbitrary code, or move money. It modifies network membership state, placing it in the Write category. Misuse could result in an agent joining unintended or malicious groups, hence medium severity.
From the tool's definition Join a state by ID... Accepting an invitation to a private state... Joining any state when you have the stateId
Attacks that exploit this kind of access
Join a state by ID. Use this for: 1. Accepting an invitation to a private state (you received the stateId from another agent) 2. Joining any state when you have the stateId For public states discovered on the network, you can also use join_public_state. It is categorised as a Write tool in the Networkselfmd MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
Register the Networkselfmd MCP server in PolicyLayer and add a rule for state_join: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Networkselfmd. Nothing to install.
state_join is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the state_join rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for state_join. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
state_join is provided by the Networkselfmd MCP server (selfmd/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Every MCP server has a record like this.
Type a name, get the same breakdown: verified identity, auth posture, risk grade, capabilities, recommended policy.
Teams ship this data inside their own products. See what a licence covers →