{"id":32648691,"url":"https://github.com/aawadall/mcpcli","last_synced_at":"2026-04-11T11:32:20.158Z","repository":{"id":304581410,"uuid":"1019193830","full_name":"aawadall/mcpcli","owner":"aawadall","description":"Command-line tool for scaffolding Model Context Protocol (MCP) servers in different languages. Generates ready-to-use templates with optional Docker support and testing utilities.","archived":false,"fork":false,"pushed_at":"2025-08-02T21:41:15.000Z","size":334,"stargazers_count":0,"open_issues_count":5,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-31T06:47:21.331Z","etag":null,"topics":["cli","code-generator","devtools","golang","java","mcp","model-context-protocol","model-context-protocol-servers","nodejs","python","scaffold-template","scaffolding","testing"],"latest_commit_sha":null,"homepage":"https://aawadall.github.io/mcpcli/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aawadall.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-14T00:09:17.000Z","updated_at":"2025-08-02T21:41:18.000Z","dependencies_parsed_at":"2025-07-14T04:04:10.349Z","dependency_job_id":"0704f863-dfb8-4eda-ac3a-3ef4f60ca84d","html_url":"https://github.com/aawadall/mcpcli","commit_stats":null,"previous_names":["aawadall/mcpcli"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/aawadall/mcpcli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aawadall%2Fmcpcli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aawadall%2Fmcpcli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aawadall%2Fmcpcli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aawadall%2Fmcpcli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aawadall","download_url":"https://codeload.github.com/aawadall/mcpcli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aawadall%2Fmcpcli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31679476,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T08:18:19.405Z","status":"ssl_error","status_checked_at":"2026-04-11T08:17:08.892Z","response_time":54,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","code-generator","devtools","golang","java","mcp","model-context-protocol","model-context-protocol-servers","nodejs","python","scaffold-template","scaffolding","testing"],"created_at":"2025-10-31T06:46:48.870Z","updated_at":"2026-04-11T11:32:20.153Z","avatar_url":"https://github.com/aawadall.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Codacy Badge](https://app.codacy.com/project/badge/Grade/7b1f68b2c73c49e19e13a7e25f9de2f8)](https://app.codacy.com/gh/aawadall/mcpcli/dashboard?utm_source=gh\u0026utm_medium=referral\u0026utm_content=\u0026utm_campaign=Badge_grade)\n[![Codacy Badge](https://app.codacy.com/project/badge/Coverage/7b1f68b2c73c49e19e13a7e25f9de2f8)](https://app.codacy.com/gh/aawadall/mcpcli/dashboard?utm_source=gh\u0026utm_medium=referral\u0026utm_content=\u0026utm_campaign=Badge_coverage)\n[![Release](https://img.shields.io/github/v/release/aawadall/mcpcli?label=release)](https://github.com/aawadall/mcpcli/releases)\n\n# mcpcli\n\nA CLI tool to scaffold Model Context Protocol (MCP) server projects in Go and other languages. It generates ready-to-use MCP server templates with support for multiple transports, Docker, and example resources/tools.\n\n**Current Version:** v0.4.1 (latest release)\n\n\u003e Learn more about the Model Context Protocol at the [official introduction page](https://modelcontextprotocol.io/introduction).\n\n## Features\n\n- Generate new MCP server projects with a single command\n- Supports multiple languages (Go, Node.js, Java, Python)\n- Choose transport method (stdio, rest, websocket)\n- Optional Docker support\n- Example resources and tools included\n- Interactive and non-interactive modes\n- Test MCP server resources, tools, and capabilities\n\n## Installation\n\nClone the repository and build the CLI:\n\n```bash\ngit clone https://github.com/aawadall/mcpcli.git\ncd mcpcli\ngo build -o mcpcli ./cmd/mcpcli\n```\n\n## Available Commands\n\n- `generate` (aliases: `gen`, `g`): Generate a new MCP server project\n- `test`: Test MCP server resources, tools, capabilities, and initialization\n\n## Usage\n\n### Generate a new MCP server project\n\n```bash\n./mcpcli generate my-server --language golang --transport stdio --docker --examples\n```\n\nOr use interactive mode (if required options are missing):\n\n```bash\n./mcpcli generate\n```\n\n#### Generate Flags\n\n- `--name, -n`         Project name\n- `--language, -l`     Programming language (`golang`, `python`, `java`, `javascript`/Node.js)\n- `--transport, -t`    Transport method (`stdio`, `rest`, `websocket`)\n- `--docker, -d`       Include Docker support\n- `--examples, -e`     Include example resources and tools\n- `--output, -o`       Output directory (default: project name)\n- `--force, -f`        Overwrite existing directory\n\n### Test an MCP server\n\n```bash\n./mcpcli test --config configs/mcp-config.json --all\n```\n\nOr use interactive mode (if no flags are provided):\n\n```bash\n./mcpcli test\n```\n\n#### Test Flags\n\n- `--config, -c`         Path to MCP configuration file\n- `--all`                Test all components (resources, tools, capabilities, init)\n- `--resources`          Test resources\n- `--tools`              Test tools\n- `--capabilities`       Test capabilities\n- `--init`               Test initialization\n- `--script, -f`         Path to test script file\n\n### Global Flags\n\n- `--verbose, -v`   Enable verbose output\n- `--quiet, -q`     Suppress output\n\n## Project Structure\n\n- `cmd/`         Entrypoint for the CLI\n- `internal/`    Core logic, generators, handlers, templates\n- `pkg/`         Shared packages\n\n## Generated Project Example\n\nA generated Go MCP server project includes:\n\n- `cmd/server/main.go` - Main server entrypoint\n- `internal/handlers/` - Request handlers\n- `pkg/mcp/`           - MCP protocol types and client\n- `configs/mcp-config.json` - Server configuration\n- `Dockerfile`         - Docker support (optional)\n- `examples/`          - Example usage (optional)\n\nA generated Node.js MCP server project includes:\n\n- `src/index.js` - Main server entrypoint\n- `src/handlers/` - Request handlers\n- `configs/mcp-config.json` - Server configuration\n- `Dockerfile` - Docker support (optional)\n\n## Testing\n\nRun `go test ./... -cover` to execute the unit tests. Overall coverage should remain above 85%.\nRecent additions include tests for `internal/commands/test.go` and error handling cases in `internal/generators/node_test.go` to ensure the CLI testing workflow behaves as expected.\nSee [the testing guide](doc/testing.md) for more details on running the tests for **mcpcli v0.4.1 (latest)**.\nAll contributions must maintain this minimum coverage level.\n\n## Contributing\n\nContributions are welcome! Please open issues or pull requests.\n\n## Releasing\n\nThe [release workflow](.github/workflows/release.yml) builds cross-platform archives.\nFor details on packaging `mcpcli` for Homebrew, APT, and Chocolatey see\n[the releasing guide](doc/releasing.md).\n\n## License\n\nMIT License\n\n---\n\n## Further Reading\n- [Model Context Protocol Introduction](https://modelcontextprotocol.io/introduction)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faawadall%2Fmcpcli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faawadall%2Fmcpcli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faawadall%2Fmcpcli/lists"}