{"id":26571012,"url":"https://github.com/flux159/mcp-chat","last_synced_at":"2025-04-10T20:04:21.609Z","repository":{"id":283351288,"uuid":"950901107","full_name":"Flux159/mcp-chat","owner":"Flux159","description":"Open Source Generic MCP Client for testing \u0026 evaluating mcp servers and agents","archived":false,"fork":false,"pushed_at":"2025-04-08T15:39:57.000Z","size":214,"stargazers_count":34,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-08T16:36:25.857Z","etag":null,"topics":["ai","llm","mcp"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/mcp-chat","language":"TypeScript","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/Flux159.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}},"created_at":"2025-03-18T21:20:38.000Z","updated_at":"2025-04-08T16:28:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"de060008-d2f9-4bb5-ad5b-f6c7c10bdf0e","html_url":"https://github.com/Flux159/mcp-chat","commit_stats":null,"previous_names":["flux159/mcp-chat"],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Flux159%2Fmcp-chat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Flux159%2Fmcp-chat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Flux159%2Fmcp-chat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Flux159%2Fmcp-chat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Flux159","download_url":"https://codeload.github.com/Flux159/mcp-chat/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247887856,"owners_count":21012994,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["ai","llm","mcp"],"created_at":"2025-03-22T22:19:28.884Z","updated_at":"2025-04-10T20:04:21.600Z","avatar_url":"https://github.com/Flux159.png","language":"TypeScript","funding_links":[],"categories":["🤖 AI/ML","Utilities","Table of Contents","📂 카테고리"],"sub_categories":["🛠️ \u003ca name=\"other-tools-and-integrations\"\u003e\u003c/a\u003eOther Tools and Integrations","Other Tools and Integrations","Development Tools","🔧 Utilities"],"readme":"# mcp-chat\n\nOpen Source Generic MCP Client for testing \u0026 evaluating mcp servers and agents\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"600\" src=\"https://raw.githubusercontent.com/Flux159/mcp-chat/refs/heads/main/mcpchat.svg\"\u003e\n\u003c/p\u003e\n\n## Quickstart\n\nMake sure that you have `ANTHROPIC_API_KEY` exported in your environment or in a .env file in the root of the project. You can get an API key by signing up at the [Anthropic Console keys page](https://console.anthropic.com/settings/keys).\n\nSimple use case that spawns an interactive chat prompt with the filesystem MCP server from CLI:\n\n```shell\nnpx mcp-chat --server \"npx -y @modelcontextprotocol/server-filesystem /Users/$USER/Desktop\"\n```\n\nThis will open up a chat prompt that you can use to interact with the servers and chat with an LLM.\n\n## Config\n\nYou can also just specify your claude_desktop_config.json (Mac):\n\n```shell\nnpx mcp-chat --config \"~/Library/Application Support/Claude/claude_desktop_config.json\"\n```\n\nOr (Windows):\n\n```shell\nnpx mcp-chat --config \"%APPDATA%\\Claude\\claude_desktop_config.json\"\n```\n\n## Web mode\n\nhttps://github.com/user-attachments/assets/b7e8a648-8084-4955-8cdf-fc6eb141572e\n\nYou can also run mcp-chat in web mode by specifying the `--web` flag (make sure to have `ANTHROPIC_API_KEY` exported in your environment):\n\n```shell\nnpx mcp-chat --web\n```\n\nIn web mode, you can start new chats, send messages to the model, and dynamically configure the mcp servers via the UI - no need to specify on the command line. In addition, chats created via the Web UI are saved to ~/.mcpchats/chats just like chats created via the CLI.\n\n## Features\n\n- [x] Run via CLI in interactive mode or directly pass prompts with `-p`\n- [x] Web mode to chat with models via a web interface `--web`\n- [x] Connect to any MCP server (JS, Python, Docker) in production or during development\n- [x] Choose between models with `-m`\n- [x] Customize system prompt with `--system`\n- [x] Saves chat history with settings in `~/.mcpchat/chats` including web chats\n- [x] Save and restore commands in `~/.mcpchat/history`\n- [x] View tool call output and arguments directly in chat to help debug mcp servers\n\n## CLI Usage\n\nRun prompts via CLI with the `-p` flag:\n\n```shell\nnpx mcp-chat --server \"npx mcp-server-kubernetes\" -p \"List the pods in the default namespace\"\n```\n\nThis runs the prompt with the kubenertes mcp-server \u0026 exits after the response is received on stdout.\n\nChoose a model to chat with via CLI with the `-m` flag:\n\n```shell\nnpx mcp-chat --server \"npx mcp-server-kubernetes\" -m \"claude-3.5\"\n```\n\nUses the model `claude-3.5` to chat with. Note that currently only Anthropic models are supported.\n\nCustom system prompt:\n\n`--system` flag can be used to specify a system prompt:\n\n```shell\nnpx mcp-chat --system \"Explain the output to the user in pirate speak.\" --server \"npx mcp-server-kubernetes\" -p \"List the pods in the default namespace\"\n```\n\n## For developers of mcp-servers\n\nYou can pass in a local build of a python or node mcp-server to test it out with mcp-chat:\n\nNode JS:\n\n```shell\n# Directly executing built script\nnpx mcp-chat --server \"/path/to/mcp-server-kubernetes/dist/index.js\"\n# Using node / bun\nnpx mcp-chat --server \"node /path/to/mcp-server-kubernetes/dist/index.js\"\n```\n\nPython:\n\n```shell\n# Python: Using uv\nnpx mcp-chat --server \"uv --directory /path/to/mcp-server-weather/ run weather.py\"\n# Using python / python3 - make sure to run in venv or install deps globally\nnpx mcp-chat --server \"/path/to/mcp-server-weather/weather.py\"\n```\n\n## Development\n\nInstall dependencies \u0026 run the CLI:\n\n```shell\ngit clone https://github.com/Flux159/mcp-chat\nbun install\nbun run dev\n```\n\nTo develop mcp-chat while connecting to an mcp-server, make a build \u0026 run the CLI with the server flag:\n\n```shell\nnpm run build \u0026\u0026 node dist/index.js --server \"npx mcp-server-kubernetes\" -p \"List the pods in the default namespace\"\n```\n\nTesting:\n\n```shell\nbun run test\n```\n\nBuilding:\n\n```shell\nbun run build\n```\n\nPublishing:\n\n```shell\nbun run publish\n```\n\nPublishing Docker:\n\n```shell\nbun run dockerbuild\n```\n\n### Project Structure\n\n```\n├── src/\n│   ├── index.ts            # Main client implementation \u0026 CLI params\n│   ├── constants.ts        # Default constants\n│   ├── interactive.ts      # Interactive chat prompt handling \u0026 logic\n├── test/                   # Test files\n│   ├── cli.test.ts         # Test CLI params\n│   ├── config.test.ts      # Test config file parsing\n```\n\n## Publishing new release\n\nGo to the [releases](https://github.com/Flux159/mcp-chat/releases) page, click on \"Draft New Release\", click \"Choose a tag\" and create a new tag by typing out a new version number using \"v{major}.{minor}.{patch}\" semver format. Then, write a release title \"Release v{major}.{minor}.{patch}\" and description / changelog if necessary and click \"Publish Release\".\n\nThis will create a new tag which will trigger a new release build via the cd.yml workflow. Once successful, the new release will be published to npm. Note that there is no need to update the package.json version manually, as the workflow will automatically update the version number in the package.json file \u0026 push a commit to main.\n\n## License\n\n[MIT License](https://github.com/Flux159/mcp-chat/blob/main/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflux159%2Fmcp-chat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflux159%2Fmcp-chat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflux159%2Fmcp-chat/lists"}