Commit Graph

242 Commits

Author SHA1 Message Date
Beehive Innovations
00e6540031 Updated video 2025-10-05 12:02:33 +04:00
Fahad
fb668c39b5 docs: updated intro 2025-10-05 10:45:16 +04:00
Fahad
28e80aa637 docs: updated intro 2025-10-05 10:44:06 +04:00
Fahad
a2ccb48e9a feat!: Huge update - Link another CLI (such as gemini directly from with Claude Code / Codex). https://github.com/BeehiveInnovations/zen-mcp-server/issues/208
Zen now allows you to define `roles` for an external CLI and delegate work to another CLI via the new `clink` tool (short for `CLI + Link`). Gemini, for instance, offers 1000 free requests a day - this means you can save on tokens and your weekly limits within Claude Code by delegating work to another entirely capable CLI agent!

Define your own system prompts as `roles` and make another CLI do anything you'd like. Like the current tool you're connected to, the other CLI has complete access to your files and the current context. This also works incredibly well with Zen's `conversation continuity`.
2025-10-05 10:40:44 +04:00
Fahad
bd666227c8 docs: instructions for OpenCode 2025-10-04 23:22:26 +04:00
Fahad
615873c3db docs: updated intro 2025-10-04 23:11:37 +04:00
Fahad
fe9968b633 feat: support for Qwen Code 2025-10-04 23:07:50 +04:00
Fahad
aa6539472c docs: Updated intro 2025-10-04 21:58:00 +04:00
Fahad
ff9a07a37a feat!: breaking change - OpenRouter models are now read from conf/openrouter_models.json while Custom / Self-hosted models are read from conf/custom_models.json
feat: Azure OpenAI / Azure AI Foundry support. Models should be defined in conf/azure_models.json (or a custom path). See .env.example for environment variables or see readme. https://github.com/BeehiveInnovations/zen-mcp-server/issues/265

feat: OpenRouter / Custom Models / Azure can separately also use custom config paths now (see .env.example )

refactor: Model registry class made abstract, OpenRouter / Custom Provider / Azure OpenAI now subclass these

refactor: breaking change: `is_custom` property has been removed from model_capabilities.py (and thus custom_models.json) given each models are now read from separate configuration files
2025-10-04 21:10:56 +04:00
Fahad
6cab9e56fc feat: added intelligence_score to the model capabilities schema; a 1-20 number that can be specified to influence the sort order of models presented to the CLI in auto selection mode
fix: model definition re-introduced into the schema but intelligently and only a summary is generated per tool. Required to ensure CLI calls and uses the correct model
fix: removed `model` param from some tools where this wasn't needed
fix: fixed adherence to `*_ALLOWED_MODELS` by advertising only the allowed models to the CLI
fix: removed duplicates across providers when passing canonical names back to the CLI; the first enabled provider wins
2025-10-02 21:43:44 +04:00
Fahad
1dc25f6c3d refactor: renaming to reflect underlying type
docs: updated to reflect new modules
2025-10-02 09:07:40 +04:00
Fahad
0d687ddf3b docs: https://github.com/BeehiveInnovations/zen-mcp-server/issues/266 2025-10-01 20:31:30 +04:00
Fahad
ce56d16240 feat: Codex CLI support
docs: Update instructions to discover uvx automatically, may not be installed system wide
2025-08-26 11:08:16 +04:00
Fahad
4b202f5d1d feat: refactored and tweaked model descriptions / schema to use fewer tokens at launch (average reduction per field description: 60-80%) without sacrificing tool effectiveness
Disabled secondary tools by default (for new installations), updated README.md with instructions on how to enable these in .env
run-server.sh now displays disabled / enabled tools (when DISABLED_TOOLS is set)
2025-08-22 09:23:59 +04:00
Fahad
80d21e57c0 feat: refactored and improved codereview in line with precommit. Reviews are now either external (default) or internal. Takes away anxiety and loss of tokens when Claude incorrectly decides to be 'confident' about its own changes and bungle things up.
fix: Minor tweaks to prompts
fix: Improved support for smaller models that struggle with strict structured JSON output
Rearranged reasons to use the MCP above quick start (collapsed)
2025-08-21 14:04:32 +04:00
Fahad
00f944e6f9 Added recommendation 2025-08-20 09:12:22 +04:00
Fahad
266b93d0de Cleanup 2025-08-20 06:03:43 +01:00
Sven Lito
392c22ef06 docs: add PATH environment variable to uvx configuration
Address gemini-code-assist bot feedback by adding explicit PATH
environment variable to ensure uvx-executed scripts can find
necessary executables regardless of inherited environment.

Maintains simplified 'command: uvx' while adding execution robustness.
2025-08-12 15:12:16 +07:00
Sven Lito
c2c6d5aa4d Update README.md
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-08-12 15:08:12 +07:00
Sven Lito
80ac32038e docs: major README refactor and comprehensive documentation improvements
README improvements:
- Reduce README from 725 to 169 lines (77% reduction)
- Focus on quick start and essential information
- Link to detailed docs instead of duplicating content
- Improve scannability with clear sections and emojis
- Add concise tool categorization and workflows

Documentation structure:
- Create comprehensive getting-started.md guide
- Move detailed setup instructions from README
- Include troubleshooting, configuration templates
- Add step-by-step installation for all methods

Benefits:
- Faster onboarding for new users
- Progressive disclosure of information
- Better GitHub discovery experience
- Maintainable documentation structure
- Clear separation of concerns

The README now serves as an effective landing page while the
detailed documentation provides comprehensive guidance.
2025-08-12 14:47:14 +07:00
Ted Slesinski
3e2dcc9c78 Update docs for grok 4 2025-07-12 09:42:29 -04:00
Beehive Innovations
7d3f43aaf5 Update README.md
Screenshots with and without zen for Challenge tool
2025-06-30 13:47:38 +04:00
Fahad
8bd06efe1f More examples 2025-06-29 20:35:39 +04:00
Fahad
26170efa65 Typo 2025-06-29 15:55:55 +04:00
Fahad
6b495cea0b New tool! "challenge" with confidence and stop Claude from agreeing with you blindly and undoing the _correct_ strategy because you were wrong
Fixed run script to ensure pip is installed
2025-06-29 15:50:45 +04:00
Fahad
4972e7c281 Added tips 2025-06-29 14:04:28 +04:00
Fahad
4d0a41b12c Updated instructions for uvx 2025-06-29 13:12:35 +04:00
Beehive Innovations
c82026941a Merge pull request #150 from SamDc73/main
Add uvx support
2025-06-29 01:56:53 -07:00
OhMyApps
c2c8d3de1e docs: Add PowerShell commands reference to README.md 2025-06-27 21:55:53 +02:00
Husam Alshehadat
5a4262ce89 docs: uvx installation guide 2025-06-27 11:09:44 -07:00
Fahad
2bed3a0774 Lint 2025-06-25 19:40:46 +04:00
Fahad
6d0bafa81d Support for Gemini CLI (setup instructions) - WIP 2025-06-25 19:36:09 +04:00
Sebastiangmz
9c1503faac Add comprehensive WSL setup guide for Windows users (#136) 2025-06-24 19:40:05 -07:00
Fahad
ce6c1fd7ea Quick test mode for simulation tests
Fixed o4-mini name, OpenAI removed o4-mini-high
Add max_output_tokens property to ModelCapabilities
2025-06-23 18:33:47 +04:00
Illya Havsiyevych
0623ce3546 feat: DIAL provider implementation (#112)
## Description

This PR implements a new [DIAL](https://dialx.ai/dial_api) (Data & AI Layer) provider for the Zen MCP Server, enabling unified access to multiple AI models through the DIAL API platform. DIAL provides enterprise-grade AI model access with deployment-specific routing similar to Azure OpenAI.

## Changes Made

- [x] Added support of atexit:
  - Ensures automatic cleanup of provider resources (HTTP clients, connection pools) on server shutdown
  - Fixed bug using ModelProviderRegistry.get_available_providers() instead of accessing private _providers
  - Works with SIGTERM/Ctrl+C for graceful shutdown in both development and containerized environments
- [x] Added new DIAL provider (`providers/dial.py`) inheriting from `OpenAICompatibleProvider`
- [x] Updated server.py to register DIAL provider during initialization
- [x] Updated provider registry to include DIAL provider type
- [x] Implemented deployment-specific routing for DIAL's Azure OpenAI-style endpoints
- [x] Implemented performance optimizations:
  - Connection pooling with httpx for better performance
  - Thread-safe client caching with double-check locking pattern
  - Proper resource cleanup with `close()` method
- [x] Added comprehensive unit tests with 16 test cases (`tests/test_dial_provider.py`)
- [x] Added DIAL configuration to `.env.example` with documentation
- [x] Added support for configurable API version via `DIAL_API_VERSION` environment variable
- [x] Added DIAL model restrictions support via `DIAL_ALLOWED_MODELS` environment variable

### Supported DIAL Models:
- OpenAI models: o3, o4-mini (and their dated versions)
- Google models: gemini-2.5-pro, gemini-2.5-flash (including search variant)
- Anthropic models: Claude 4 Opus/Sonnet (with and without thinking mode)

### Environment Variables:
- `DIAL_API_KEY`: Required API key for DIAL authentication
- `DIAL_API_HOST`: Optional base URL (defaults to https://core.dialx.ai)
- `DIAL_API_VERSION`: Optional API version header (defaults to 2025-01-01-preview)
- `DIAL_ALLOWED_MODELS`: Optional comma-separated list of allowed models

### Breaking Changes:
- None

  ### Dependencies:
  - No new dependencies added (uses existing OpenAI SDK with custom routing)
2025-06-23 14:07:10 +04:00
Fahad
8262d47c1e Updated readme with recommendations 2025-06-22 23:05:44 +04:00
Fahad
874e730a41 Updated readme with recommendations 2025-06-22 23:04:55 +04:00
Beehive Innovations
000d12dc3a Add secaudit tool for security auditing (#117)
* WIP - working version

* Implement required methods
2025-06-22 15:28:05 +04:00
Beehive Innovations
327c801c9b Update README.md
Updated example
2025-06-22 14:55:53 +04:00
Beehive Innovations
c960bcb720 Add DocGen tool with comprehensive documentation generation capabilities (#109)
* WIP: new workflow architecture

* WIP: further improvements and cleanup

* WIP: cleanup and docks, replace old tool with new

* WIP: cleanup and docks, replace old tool with new

* WIP: new planner implementation using workflow

* WIP: precommit tool working as a workflow instead of a basic tool
Support for passing False to use_assistant_model to skip external models completely and use Claude only

* WIP: precommit workflow version swapped with old

* WIP: codereview

* WIP: replaced codereview

* WIP: replaced codereview

* WIP: replaced refactor

* WIP: workflow for thinkdeep

* WIP: ensure files get embedded correctly

* WIP: thinkdeep replaced with workflow version

* WIP: improved messaging when an external model's response is received

* WIP: analyze tool swapped

* WIP: updated tests
* Extract only the content when building history
* Use "relevant_files" for workflow tools only

* WIP: updated tests
* Extract only the content when building history
* Use "relevant_files" for workflow tools only

* WIP: fixed get_completion_next_steps_message missing param

* Fixed tests
Request for files consistently

* Fixed tests
Request for files consistently

* Fixed tests

* New testgen workflow tool
Updated docs

* Swap testgen workflow

* Fix CI test failures by excluding API-dependent tests

- Update GitHub Actions workflow to exclude simulation tests that require API keys
- Fix collaboration tests to properly mock workflow tool expert analysis calls
- Update test assertions to handle new workflow tool response format
- Ensure unit tests run without external API dependencies in CI

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* WIP - Update tests to match new tools

* WIP - Update tests to match new tools

* WIP - Update tests to match new tools

* Should help with https://github.com/BeehiveInnovations/zen-mcp-server/issues/97
Clear python cache when running script: https://github.com/BeehiveInnovations/zen-mcp-server/issues/96
Improved retry error logging
Cleanup

* WIP - chat tool using new architecture and improved code sharing

* Removed todo

* Removed todo

* Cleanup old name

* Tweak wordings

* Tweak wordings
Migrate old tests

* Support for Flash 2.0 and Flash Lite 2.0

* Support for Flash 2.0 and Flash Lite 2.0

* Support for Flash 2.0 and Flash Lite 2.0
Fixed test

* Improved consensus to use the workflow base class

* Improved consensus to use the workflow base class

* Allow images

* Allow images

* Replaced old consensus tool

* Cleanup tests

* Tests for prompt size

* New tool: docgen
Tests for prompt size
Fixes: https://github.com/BeehiveInnovations/zen-mcp-server/issues/107
Use available token size limits: https://github.com/BeehiveInnovations/zen-mcp-server/issues/105

* Improved docgen prompt
Exclude TestGen from pytest inclusion

* Updated errors

* Lint

* DocGen instructed not to fix bugs, surface them and stick to d

* WIP

* Stop claude from being lazy and only documenting a small handful

* More style rules

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-06-22 10:21:19 +04:00
Fahad
d12094b536 Handle the case where provider is a string
Updated example
2025-06-21 12:58:11 +04:00
Beehive Innovations
f72b78a18d Update README.md
Use webm
2025-06-21 09:37:47 +04:00
Fahad
c5b8e2f1aa Credit humans 2025-06-21 09:33:41 +04:00
Fahad
7d65de6898 Merge remote-tracking branch 'origin/main' 2025-06-21 09:30:56 +04:00
Fahad
44a8de1fc0 Improved readme 2025-06-21 09:30:52 +04:00
Coy Geek
55b303df1b Docs: Add Star History chart to README.md (#99)
Hi there,

I noticed that many popular open-source projects include a star history chart in their README to visualize community growth and engagement. I thought it would be a great addition to this project as well.

This PR adds a dynamic Star History chart to the end of the `README.md`.

### Example
This is what the chart will look like:

[![Star History Chart](https://api.star-history.com/svg?repos=BeehiveInnovations/zen-mcp-server&type=Date)](https://www.star-history.com/#BeehiveInnovations/zen-mcp-server&Date)

It's a small, non-intrusive addition that adds a nice touch to the project's landing page.
2025-06-21 09:18:24 +04:00
Beehive Innovations
69a3121452 🚀 Major Enhancement: Workflow-Based Tool Architecture v5.5.0 (#95)
* WIP: new workflow architecture

* WIP: further improvements and cleanup

* WIP: cleanup and docks, replace old tool with new

* WIP: cleanup and docks, replace old tool with new

* WIP: new planner implementation using workflow

* WIP: precommit tool working as a workflow instead of a basic tool
Support for passing False to use_assistant_model to skip external models completely and use Claude only

* WIP: precommit workflow version swapped with old

* WIP: codereview

* WIP: replaced codereview

* WIP: replaced codereview

* WIP: replaced refactor

* WIP: workflow for thinkdeep

* WIP: ensure files get embedded correctly

* WIP: thinkdeep replaced with workflow version

* WIP: improved messaging when an external model's response is received

* WIP: analyze tool swapped

* WIP: updated tests
* Extract only the content when building history
* Use "relevant_files" for workflow tools only

* WIP: updated tests
* Extract only the content when building history
* Use "relevant_files" for workflow tools only

* WIP: fixed get_completion_next_steps_message missing param

* Fixed tests
Request for files consistently

* Fixed tests
Request for files consistently

* Fixed tests

* New testgen workflow tool
Updated docs

* Swap testgen workflow

* Fix CI test failures by excluding API-dependent tests

- Update GitHub Actions workflow to exclude simulation tests that require API keys
- Fix collaboration tests to properly mock workflow tool expert analysis calls
- Update test assertions to handle new workflow tool response format
- Ensure unit tests run without external API dependencies in CI

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* WIP - Update tests to match new tools

* WIP - Update tests to match new tools

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-06-21 00:08:11 +04:00
Fahad
79abb9ca7e certain confidence - no need to waste tokens on another assistant when it's a no brainer fix for Claude 2025-06-19 17:05:43 +04:00
Fahad
4394ca1061 Updated docs for the new debug tool 2025-06-19 13:29:42 +04:00
Beehive Innovations
b6ad76b39a Update README.md 2025-06-19 00:03:46 +04:00