The MCP server now automatically uses project_id and agent_id from the connection URL for create_task and add_context endpoints. This makes the API much more user-friendly when connected with context.
When connecting to the MCP server, include your project and agent IDs in the URL:
http://localhost:8080?project_id=68488bf3-8d73-498f-b871-69d63641d6e3&agent_id=1a9c32e7-f0b0-4cc4-b1ed-6ee92f7ef184
Before (required all parameters):
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "create_task",
"arguments": {
"project_id": "68488bf3-8d73-498f-b871-69d63641d6e3",
"created_by": "1a9c32e7-f0b0-4cc4-b1ed-6ee92f7ef184",
"title": "Implement user authentication",
"description": "Add JWT-based authentication",
"priority": "high"
}
}
}After (with context from URL - simplified!):
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "create_task",
"arguments": {
"title": "Implement user authentication",
"description": "Add JWT-based authentication",
"priority": "high"
}
}
}How it works:
- If
project_idis not in arguments, usesproject_idfrom URL context - If
created_byis not in arguments, usesagent_idfrom URL context - If still no
created_by, falls back to first agent in project - Only
titleis required when connected with context!
Before (required all parameters):
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "add_context",
"arguments": {
"project_id": "68488bf3-8d73-498f-b871-69d63641d6e3",
"agent_id": "1a9c32e7-f0b0-4cc4-b1ed-6ee92f7ef184",
"title": "Authentication Implementation Notes",
"content": "## JWT Implementation\n\nUsing RS256 algorithm...",
"tags": ["auth", "security", "backend"]
}
}
}After (with context from URL - simplified!):
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "add_context",
"arguments": {
"title": "Authentication Implementation Notes",
"content": "## JWT Implementation\n\nUsing RS256 algorithm...",
"tags": ["auth", "security", "backend"]
}
}
}How it works:
- If
project_idis not in arguments, usesproject_idfrom URL context - If
agent_idis not in arguments, usesagent_idfrom URL context - If still no
agent_id, falls back to first agent in project - Only
titleandcontentare required when connected with context!
For both endpoints, the priority order is:
- Explicit argument - If you provide
project_id,agent_id, orcreated_byin the arguments, it will be used - URL context - If not in arguments, uses values from the MCP connection URL
- Fallback - If still not available, queries the first agent from the project
This allows maximum flexibility while providing sensible defaults.
When connected with context, you only need to provide the essential data (title, content, etc.) without repeating the project and agent IDs.
Less manual copying and pasting of UUIDs means fewer mistakes.
AI agents can focus on the actual content rather than managing IDs.
You can still explicitly provide project_id, agent_id, or created_by if needed - they will override the context.
The following tools automatically use the URL context:
| Tool | Uses project_id from URL | Uses agent_id from URL |
|---|---|---|
get_my_identity |
✅ | ✅ |
get_my_project |
✅ | ❌ |
get_my_tasks |
❌ | ✅ |
update_my_status |
❌ | ✅ |
claim_task |
❌ | ✅ |
complete_task |
❌ | ✅ |
create_task |
✅ (optional) | ✅ (optional as created_by) |
add_context |
✅ (optional) | ✅ (optional) |
-
Connect with context:
http://localhost:8080?project_id=PROJECT_UUID&agent_id=AGENT_UUID -
Check your identity:
{"method": "tools/call", "params": {"name": "get_my_identity"}}Returns your project and agent details automatically.
-
Create a task (simplified):
{ "method": "tools/call", "params": { "name": "create_task", "arguments": { "title": "Fix bug in login form", "priority": "high" } } }Automatically uses your project_id and agent_id from the connection!
-
Add documentation (simplified):
{ "method": "tools/call", "params": { "name": "add_context", "arguments": { "title": "Bug Fix Notes", "content": "Fixed validation issue in email field", "tags": ["bugfix", "frontend"] } } }Automatically uses your project_id and agent_id from the connection!
When you download the MCP setup files from the web UI, the .vscode/mcp.json file includes:
{
"mcpServers": {
"agent-shaker": {
"url": "http://localhost:8080?project_id=YOUR_PROJECT&agent_id=YOUR_AGENT",
...
}
}
}This means when you use GitHub Copilot with the MCP server, it automatically knows:
- Which project you're working on
- Which agent you are
- And can create tasks and documentation without you specifying those IDs every time!
Test the context-aware functionality:
# Connect with context
curl "http://localhost:8080?project_id=YOUR_PROJECT_ID&agent_id=YOUR_AGENT_ID" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "create_task",
"arguments": {
"title": "Test task"
}
}
}'Should create a task automatically using the project_id and agent_id from the URL!
The MCP server is now truly context-aware. When you connect with project_id and agent_id in the URL:
✅ create_task - Only requires title (project_id and created_by auto-filled)
✅ add_context - Only requires title and content (project_id and agent_id auto-filled)
✅ All context-aware tools use your connection context automatically
✅ You can still override with explicit arguments if needed
✅ Fallback to first project agent if no context available
This makes working with the MCP server much more natural and reduces the cognitive load on both humans and AI agents!