scrum4me-mcp/src/index.ts
Madhura68 c39b337fcc feat(ST-707): log tools — implementation, test_result, commit
Three write tools that append StoryLog entries:
- log_implementation: type=IMPLEMENTATION_PLAN
- log_test_result: type=TEST_RESULT, status PASSED|FAILED
- log_commit: type=COMMIT with hash and message

All accept optional metadata in input but skip writing it for now —
the StoryLog.metadata JSONB column lands with Scrum4Me PR #2.
After that PR merges, run sync-schema and add `metadata` to each
prisma.create's data field.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 23:06:50 +02:00

43 lines
1.6 KiB
JavaScript

#!/usr/bin/env node
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
import { registerHealthTool } from './tools/health.js'
import { registerListProductsTool } from './tools/list-products.js'
import { registerGetClaudeContextTool } from './tools/get-claude-context.js'
import { registerUpdateTaskStatusTool } from './tools/update-task-status.js'
import { registerUpdateTaskPlanTool } from './tools/update-task-plan.js'
import { registerLogImplementationTool } from './tools/log-implementation.js'
import { registerLogTestResultTool } from './tools/log-test-result.js'
import { registerLogCommitTool } from './tools/log-commit.js'
const VERSION = '0.1.0'
async function main() {
const server = new McpServer(
{ name: 'scrum4me-mcp', version: VERSION },
{
instructions:
'Scrum4Me dev-flow tools: read product/sprint/story context, update tasks, log activity. ' +
'Always call get_claude_context before starting work to fetch the next story.',
},
)
registerHealthTool(server)
registerListProductsTool(server)
registerGetClaudeContextTool(server)
registerUpdateTaskStatusTool(server)
registerUpdateTaskPlanTool(server)
registerLogImplementationTool(server)
registerLogTestResultTool(server)
registerLogCommitTool(server)
// create_todo and prompts in ST-708..ST-709.
const transport = new StdioServerTransport()
await server.connect(transport)
console.error(`scrum4me-mcp ${VERSION} running on stdio`)
}
main().catch((err) => {
console.error('Fatal error in scrum4me-mcp:', err)
process.exit(1)
})