Roster for Cursor
Give Cursor live ownership context around the code.
Connect Cursor to Roster over MCP so its agent can resolve who owns, reviews, approves, handles, or receives an escalation for engineering work.
Cursor understands the repository. Roster resolves who should act around it.
Last verified 07/14/2026
Repository context cannot answer every ownership question
Cursor can inspect a codebase, edit files, run commands, and use project context while completing engineering tasks.
But the current accountable person may not be encoded in the repository:
“Who owns this service today?”
“Who should review this authentication change?”
“Who approves the production deployment?”
“Who receives this security escalation?”
“Who is covering for the release owner?”
CODEOWNERS, repository history, and documentation may provide useful signals, but they do not always reflect business roles, project membership, geography, approval policy, active status, or temporary delegation. Roster makes that organizational context available through Cursor's MCP interface.
How Roster fits into Cursor
Cursor supports Streamable HTTP remote MCP servers. Roster plugs in as one of those servers through project- or user-level configuration.
Cursor Agent
↓
Remote MCP connection
↓
Roster MCP server
↓
Project + service ownership
↓
Directory users, groups, roles, memberships, and delegations
↓
Resolved owner, reviewer, approver, or escalation contactWhat Cursor can resolve around the code
Connect Roster to Cursor
Add Roster as a remote MCP server in Cursor. Use a project configuration when access should travel with a specific repository, or a user configuration when the same connection should be available across projects.
Cursor's current MCP documentation supports Streamable HTTP remote servers, project-level .cursor/mcp.json, global ~/.cursor/mcp.json, headers, and environment-variable interpolation. Example project configuration:
{
"mcpServers": {
"roster": {
"url": "https://roster.example.com/mcp",
"headers": {
"Authorization": "Bearer ${env:ROSTER_API_KEY}"
}
}
}
}Set ROSTER_API_KEY in the environment used to launch Cursor. Cursor documents the ${env:NAME} interpolation syntax for remote-server headers. Roster API keys are sent as bearer tokens.
The API key requires mcp:resolve to call Roster's resolve tool. Add other mcp:* read scopes only if Cursor must use the corresponding exact lookup tools.
After saving the configuration:
- Open Cursor Settings → Tools & MCP.
- Confirm that the Roster server connects and its tools are available.
- Enable only the tools required for the project.
- Test with a scoped prompt such as: "Use Roster to find who owns the Atlas identity service."
Resolve-only automation scope
For resolve-only workflows, use narrow scopes. Effective access remains constrained by the acting Roster identity's permissions and target-resource rules.
mcp:resolve
mcp:resolve-requests:read
mcp:projects:read
mcp:participants:readAdd a Cursor rule for Roster
Making the MCP server available does not ensure the agent will call it whenever organizational context is required. Add a project or team rule that defines when Roster is the source of truth.
# Organizational ownership and routing
Use the Roster MCP server for current ownership, approval, review,
escalation, participant, membership, and delegation questions.
Do not infer current owners or approvers from repository history,
CODEOWNERS, documentation, or model memory when Roster is available.
For open-ended questions, call `resolve`. Return no-result,
out-of-scope, and authorization failures explicitly. Never invent
an assignee.Example: resolve a deployment approver
A developer asks Cursor:
“Review this release and determine who must approve the Atlas production deployment.”
- Cursor reviews the repository and release changes.
- The agent determines that organizational approval is required.
- Cursor calls Roster:
resolve( query: "Who should approve the Atlas production deployment?" ) - Roster evaluates the Atlas project, release-approval participant, relevant labels and metadata, directory membership, active status, and delegations.
- Cursor returns the selected approver or an explicit exception state.
Cursor or a connected system can then create a review request, pull-request comment, ticket, or approval task.
Roster complements engineering ownership systems
Roster does not need to replace CODEOWNERS, GitHub or GitLab teams, Backstage, service catalogs, incident-management platforms, or project-management systems. Those systems can provide static or platform-specific ownership.
Roster adds runtime resolution when the answer depends on current project context, directory membership, business role, geography, approval threshold, active status, delegation, or cross-functional responsibility.
- Project context
- Directory membership
- Business role
- Geography
- Approval threshold
- Active status
- Delegation
- Cross-functional responsibility