// MCP SERVER
JSON-RPC TOOLING FOR AGENTS
The MCP endpoint exposes DailyStand tools over JSON-RPC 2.0. Use `initialize`, `tools/list`, then `tools/call`.
TRANSPORT
ENDPOINT
https://your-domain.com/api/mcp
PROTOCOL
JSON-RPC 2.0
AUTH
x-api-key or Authorization: Bearer
KEY STATUS
NOT_SET
Initialize Session
Start MCP handshake and get protocol capabilities.
initialize
- No API key scope required.
- Response includes protocolVersion and serverInfo.
curl -s -X POST "https://your-domain.com/api/mcp" \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {}
}'List Tools
Return tools available for the current API key permissions.
tools/list
- Requires dailystand.profile:read permission.
- Use this to discover allowed tool names and schemas.
curl -s -X POST "https://your-domain.com/api/mcp" \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/list",
"params": {}
}'Call Tool
Execute one MCP tool with validated arguments.
tools/call
- Tool availability depends on API key scopes and role.
- Response uses MCP tool result envelope with content + structuredContent.
curl -s -X POST "https://your-domain.com/api/mcp" \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "submit_my_standup",
"arguments": {
"orgId": "ORG_ID",
"teamId": "TEAM_ID",
"date": "2026-02-16",
"completed": [
"Finished request explorer page"
],
"planned": [
"Add API docs examples"
],
"blockers": []
}
}
}'TOOL CATALOG
list_organizations
MEMBER // dailystand.profile:read
List organizations for the API key user.
list_teams
MEMBER // dailystand.teams:read
List all teams in an organization with membership status.
list_my_teams
MEMBER // dailystand.teams:read
List only teams the API key user belongs to.
list_org_members
MEMBER // dailystand.teams:read
List organization members with roles.
add_organization_member
OWNER // dailystand.members:manage
Add an existing user to an organization (owner only).
assign_user_to_team
OWNER // dailystand.members:manage
Assign an organization member to a team (owner only).
remove_user_from_team
OWNER // dailystand.members:manage
Remove an organization member from a team (owner only).
submit_my_standup
MEMBER // dailystand.standups:write
Submit current user's standup for date/team scope.
get_my_standup
MEMBER // dailystand.standups:read
Get current user's standup for one date/team.
get_my_standup_history
MEMBER // dailystand.standups:read
Get current user's standup history with optional team scope.
get_team_standup_day
MEMBER // dailystand.standups:read
Get one team's standups for a single day.
get_team_standup_history
MEMBER // dailystand.standups:read
Get one team's standup history with limits.
| TOOL | ACCESS | SCOPE | DESCRIPTION |
|---|---|---|---|
| list_organizations | MEMBER | dailystand.profile:read | List organizations for the API key user. |
| list_teams | MEMBER | dailystand.teams:read | List all teams in an organization with membership status. |
| list_my_teams | MEMBER | dailystand.teams:read | List only teams the API key user belongs to. |
| list_org_members | MEMBER | dailystand.teams:read | List organization members with roles. |
| add_organization_member | OWNER | dailystand.members:manage | Add an existing user to an organization (owner only). |
| assign_user_to_team | OWNER | dailystand.members:manage | Assign an organization member to a team (owner only). |
| remove_user_from_team | OWNER | dailystand.members:manage | Remove an organization member from a team (owner only). |
| submit_my_standup | MEMBER | dailystand.standups:write | Submit current user's standup for date/team scope. |
| get_my_standup | MEMBER | dailystand.standups:read | Get current user's standup for one date/team. |
| get_my_standup_history | MEMBER | dailystand.standups:read | Get current user's standup history with optional team scope. |
| get_team_standup_day | MEMBER | dailystand.standups:read | Get one team's standups for a single day. |
| get_team_standup_history | MEMBER | dailystand.standups:read | Get one team's standup history with limits. |