feat: add --cli mode for direct tool invocation #63
No reviewers
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/OpenSpec
Kind/Security
Kind/Testing
Priority/Critical
Priority/High
Priority/Low
Priority/Medium
RFC - Request For Comments
Reviewed/Confirmed
Reviewed/Duplicate
Reviewed/Invalid
Reviewed/Won't Fix
Status/Abandoned
Status/Blocked
Status/Need More Info
hermes-attempted
hermes-needs-clarification
hermes-ready
hermes-review
hermes-wip
human-required
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
agentic-forges/forgejo-mcp!63
Loading…
Reference in a new issue
No description provided.
Delete branch "refs/pull/63/head"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
--cliflag that bypasses the MCP server and invokes any of the 46 registered tools directly from the command line--cli list(grouped by domain),--cli <tool> --args '{json}',--cli <tool> --help, stdin pipe, and--output=json|textChanges
cmd/cli.go(new):RunCLI()entry point,cliList(),cliHelp(),cliExec(), stdin reader, domain-grouping via per-domain registration trackingcmd/cmd.go: Early--clidetection ininit(), CLI branch inExecute(), extractedinitConfig()for shared URL/token resolutionoperation/operation.go: Exported per-domain registration functions (RegisterUserTool,RegisterRepoTool, etc.) for domain trackingREADME.md: New "CLI Mode" section with usage examplesUsage
Test plan
--cli listshows all 46 tools grouped by domain--cli list --output=jsonemits valid JSON array--cli <tool> --args '{}'invokes handler and returns JSON--cli <tool> --helpprints parameter schema--args--output=textand--output=jsonwork for both list and execution--cli) is unaffected