What you can do
The designer should open Maya's homepage hero. On Team Members Maya would click Add Member, type the email, and later tick Widget Access under Manage Permissions. From an agent she names the team and the email. The designer lands on the same list, as Not joined yet, and still clicks Accept Invitation on the dashboard.
The page is the better door for some jobs. The agent is better for others.
- Use the agent when you already know the email and the group, and you are in the chat. You do not leave the conversation to find Team Settings.
- Use Team Members when you want the list in front of you, when you are ticking several groups while looking at the person, or when you are reviewing Requests to Join one card at a time.
Groups are not a second kind of invitation. A person can be on the team and still be unable to open the hero. Widget Access is what opens the composer. The walkthrough for the clicks is on Organizations & Teams.
The same people, the same permission
The agent does not get a side door. It acts as the RuleCMS account that signed in when you connected MCP.
Team Members at View can see who is on the team and who has asked to join. Manage or Admin can send an invitation and approve a request. User Groups at View can see who is on a group. Manage can add or remove someone from a group. A teammate without those groups gets the same refusal the page would show.
Asking to join is the exception. Any signed-in person can request access to a team they are not on. They do not need to be a member first. If they already belong, nothing new is created.
Invite the designer
Maya has Manage Team Members. She wants one person, at an email that person will sign in with.
- Connect RuleCMS in the agent, if you have not. The steps are on MCP.
- Tell the agent the team, the email, and the first name. Last name is optional. If the tool also asks for a user id, send a temporary one. The invitation is matched by email. Their real id is written when they accept.
- Open Team Members. The row says Not joined yet. They are not an active member, and they cannot open the hero.
- They sign in with the same email. The dashboard lists the team under Your Teams with Accept Invitation. The agent cannot accept for them.
- After they accept, the row is Active. They can open the team. They still cannot compose until they are on a group.
An email that is already on the team is refused. Add Member would say the same thing. Do not send the invitation again.
Groups are a catalog
You do not invent a group called Designers. The team is created with the catalog: View Team Members, Manage Widget, Widget Access for each environment, and the rest. The page shows a readable name. The agent also sees the code on the pill, such as USER_GROUP_VIEW_TEAM_MEMBERS.
Ask for a name the way the page prints it — "view team members" — and the list can narrow to that group. The same search also matches the description. A created or updated date is optional, and the start has to be on or before the end.
If the team is missing a catalog group, the agent can import the ones RuleCMS added after the team was created. You are added to each group that import creates. A team that already has the full catalog is left unchanged. Import does not accept a name you made up.
Put her on Widget Access
She has accepted. Maya has Manage User Groups. The group she wants is Manage Widget, or the environment-specific Widget Access group if the hero lives only in Production.
- Ask the agent which groups this person is already on, for this team.
- Name the group. The agent adds her, using the user id from her active Team Members row, plus the email and first name.
- She refreshes, opens Production, and the Default Widget is there. Removing her from the group later takes that access away. It does not remove her from the team.
Looking up one membership can be by that membership's id, or by the id together with the group. The group path also checks that the membership belongs to the group you named.
A request to join
Invitation and request-access are different jobs. Add Member creates a pending card they accept. Request Access is for someone who opened a team they are not on. You review that on Requests to Join.
- They are signed in, and they are not an active member. They ask the agent to request access to that team, or they click Request Access on Team Access Required.
- You see the request on Requests to Join. The agent can list the active ones. A name or email narrows the list. An inactive request is not in that list.
- Approve it with the user id on the request. They become an active member. If they were already active, the request is closed and you are told they already belong. If there is no active request for that id, nothing changes.
They still need groups before they can compose. Approving a request does not tick Widget Access.
Your own name
The agent can read the first and last name on your membership, the same name Team Members shows. If no membership has a first name yet, that answer is empty. It does not list your teams. Teams are on MCP.
Names you may see
You do not have to type these. They are the labels in the agent's tool list, if you open it. Each one still checks the group named above.
| What you asked for | The tool |
|---|---|
| Your first and last name | get_t_team_members_get_current_user_team_member_details |
| Who is on the team | get_t_teamId_team_members |
| One person on the team | get_t_teamId_team_members_userId |
| Invite by email | post_t_teamId_team_members |
| Who has asked to join | get_t_teamId_team_requests |
| Approve a request to join | put_t_teamId_team_requests |
| Ask to join a team you are not on | post_t_teamId_request_access |
| The catalog of groups | get_t_teamId_user_groups |
| One group | get_t_teamId_user_groups_groupId |
| Who is on a group | get_t_teamId_user_groups_groupId_user_group_members |
| Which groups one person is on | get_t_teamId_users_userId_user_group_memberships |
| Add someone to a group | post_t_teamId_user_groups_groupId_user_group_members |
| One membership, also checked against the group | get_t_teamId_user_groups_groupId_user_group_members_memberId |
| One membership by its id | get_t_teamId_user_group_members_memberId |
| Remove someone from a group | delete_t_teamId_user_group_members_memberId |
| Remove someone, and check the group too | delete_t_teamId_user_groups_groupId_user_group_members_memberId |
| Fill in catalog groups the team is missing | post_t_teamId_user_groups_import_new_user_groups |
When it does not land
| What you see | What it usually means |
|---|---|
| The agent says you cannot do that | This account is missing Team Members or User Groups at the level that job needs, or it is not a member of that team. The page would say the same thing. |
| A team member with this email already exists | That email is already on the team, active or still Not joined yet. Open the row instead of inviting again. |
| You are already an active member | A request to join was not created, or an approval found they were already active and closed the request. |
| No active request found | That user id has nothing waiting on Requests to Join. Nothing was changed. |
| The group list did not gain a name you invented | Groups come from the catalog. Import only fills in catalog groups the team does not have yet. |
What to read next
- MCP — Connect Cursor, and the rest of what an agent can reach.
- Organizations & Teams — Add Member, Accept Invitation, Requests to Join, and Manage Permissions.
- Component libraries — Register a Library ID from the same agent, on the same team.