Strety MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Strety MCP Server list incomplete todos assigned to Brent"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Strety MCP Server
MCP (Model Context Protocol) server for integrating Strety with Claude Code.
Features
Read tools: List todos (filtered by assignee, completion status), get todo details, list people
Write tools: Create, update, complete/uncomplete, and delete todos
Auto-refresh OAuth tokens
Automatic ETag handling for PATCH operations
Assignee name resolution (partial match, e.g., "Brent" resolves to full ID)
Related MCP server: mcp-google
Installation
cd /Users/brent/scripts/CB-Workspace/mcp-servers/strety
npm install
npm run buildConfiguration
1. Create Strety OAuth App
Go to https://2.strety.com
Navigate to: My Integrations > My Apps
Create new app with:
Name: Strety-MCP
Redirect URI:
https://localhost:8888/callbackScopes:
read,write
2. Get OAuth Tokens
See todo/strety-oauth-flow.md for detailed instructions.
Quick version:
# Terminal 1: Start listener
nc -l 8888
# Terminal 2: Open this URL (replace CLIENT_ID)
# https://2.strety.com/oauth/authorize?client_id=YOUR_CLIENT_ID&redirect_uri=https://localhost:8888/callback&response_type=code&scope=read+write
# Exchange code for token
curl -X POST "https://2.strety.com/api/v1/oauth/token" \
-d "grant_type=authorization_code" \
-d "code=CODE_FROM_CALLBACK" \
-d "client_id=YOUR_CLIENT_ID" \
-d "client_secret=YOUR_CLIENT_SECRET" \
-d "redirect_uri=https://localhost:8888/callback"3. Save Tokens
mkdir -p ~/.mcp-strety
cat > ~/.mcp-strety/token.json << 'EOF'
{
"access_token": "YOUR_ACCESS_TOKEN",
"refresh_token": "YOUR_REFRESH_TOKEN",
"saved_at": "2026-01-27T00:00:00.000Z"
}
EOF4. Add to Claude Code
Add to ~/.mcp.json or project .mcp.json:
{
"mcpServers": {
"strety": {
"command": "node",
"args": ["/Users/brent/scripts/CB-Workspace/mcp-servers/strety/dist/index.js"],
"env": {
"STRETY_ACCESS_TOKEN": "YOUR_ACCESS_TOKEN",
"STRETY_REFRESH_TOKEN": "YOUR_REFRESH_TOKEN",
"STRETY_CLIENT_ID": "YOUR_CLIENT_ID",
"STRETY_CLIENT_SECRET": "YOUR_CLIENT_SECRET"
}
}
}
}5. Restart Claude Code
The MCP server loads on Claude Code startup.
Available Tools
Read Tools
Tool | Description |
| List todos with optional filters (assignee, completed status) |
| Get full details of a specific todo |
| List all people in the organization |
Write Tools
Tool | Description |
| Create a new todo with title, description, assignee, due date, priority |
| Update fields on an existing todo (auto ETag handling) |
| Mark a todo complete or uncomplete (auto ETag handling) |
| Permanently delete a todo |
Note: Write tools require OAuth tokens with read and write scopes. PATCH operations (update, complete) automatically fetch the required ETag before sending the request.
Token Management
The server handles token refresh automatically:
Tokens are loaded from
~/.mcp-strety/token.json(preferred) or environment variablesWhen a 401 occurs, the server attempts to refresh using the refresh token
New tokens are saved back to
~/.mcp-strety/token.json
Important: Tokens expire after 2 hours. The auto-refresh handles this, but if the refresh token also expires, you'll need to re-authorize.
API Notes
Base URL:
https://2.strety.com/api/v1Page size limit: 20 items max per request
Rate limit: 10 requests per 10 seconds
Pagination: Server fetches up to 50 pages to find all matching todos
Troubleshooting
"Authentication failed" error
Check if tokens are expired
Try refreshing manually (see oauth-flow.md)
If refresh fails, re-authorize completely
"Invalid scope" or 403 when using write tools
The token only has read scope. Re-authorize with read+write scope (see OAuth flow docs).
Todos not showing up
The server paginates through up to 50 pages. If Brent's todos are spread across many pages, they should still be found. Check the assignee filter is correct.
Files
strety/
├── src/index.ts # Main server code (7 tools)
├── dist/index.js # Compiled output (gitignored)
├── package.json
├── tsconfig.json
├── .gitignore
├── README.md # This file
└── docs/
├── README.md # Docs index
├── strety-oauth-flow.md # OAuth documentation
├── strety-api-mapping.md # API endpoint reference
└── strety-mcp-tools-spec.md # Tool specificationsDevelopment
# Build
npm run build
# Watch mode (if configured)
npm run devAvailable Tools
8 toolsstrety_complete_todoA
Mark a todo as complete (or uncomplete it). Handles ETag automatically.
Inputs: todoId (required), uncomplete.
strety_create_todoA
Create a new todo in Strety. Returns the created todo with its ID.
Inputs: title (required), assignee, due_date, priority, +1 more.
strety_delete_todoA
Permanently delete a todo from Strety. This cannot be undone.
Inputs: todoId (required).
strety_get_todoA
Get full details of a specific todo by its ID
Inputs: todoId (required).
strety_list_goalsA
List goals (rocks) from Strety. Can filter by assignee name and completion status. Returns goals sorted by due date.
Inputs: assignee, maxResults, showCompleted.
strety_list_peopleA
List all people in the Strety organization. Useful for finding assignee names/IDs.
Inputs: no named parameters.
strety_list_todosA
List todos from Strety. Can filter by assignee name and completion status. Returns todos sorted by due date.
Inputs: assignee, maxResults, showCompleted.
strety_update_todoA
Update an existing todo in Strety. Only provide fields you want to change. Handles ETag automatically.
Inputs: todoId (required), title, assignee, due_date, +2 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 8 tools
Each tool has a clear and distinct purpose: separate operations for todos (create, read, update, delete, complete), listing goals, and listing people. No ambiguity between tools.
All tools follow a consistent 'strety_verb_noun' pattern (e.g., strety_create_todo, strety_list_goals). The naming is predictable and uniform.
With 8 tools, the server covers core functionality without being over- or under-scoped. Each tool serves a necessary role in managing todos and referencing goals and people.
The todo operations are complete (CRUD plus completion toggle). However, goals and people are only listable, lacking create/update/delete, which is a minor gap for a full lifecycle.
Related MCP Connectors
OAuth 2.1 short-link tools for AI agents with scoped tokens, approvals, audit logs, and revocation.
Task management for people and AI agents, with scoped OAuth access to issues, projects, and docs.
Task management for people and AI agents, with scoped OAuth access to issues, projects, and docs.
Your SMB workspace in Claude or ChatGPT: tasks, notes, sales and Michèle's memory, via OAuth.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables Claude to authenticate with GitHub OAuth and access tools for user information, calculations, and GitHub repositories.5MIT
- FlicenseNot gradedqualityBmaintenanceExposes 25 tools for Claude Code across Gmail, Calendar, Drive, Docs, Sheets, and Slides. Supports multi-account, local-first, encrypted OAuth tokens.101-
- AlicenseNot gradedqualityDmaintenanceEnables Claude Code to interact with Google Workspace services (Drive, Docs, Sheets, Slides, Forms, Gmail) via OAuth 2.0 authentication and natural language commands.1MIT
- AlicenseNot gradedqualityDmaintenanceEnables Claude to interact with Basecamp API for project and to-do management via OAuth authentication.99 npmMIT