| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Add deprecation notices across hexai-mcp-server codebase and documentation.
The MCP server is now considered experimental and not actively maintained,
as prompts are managed through slash commands and meta-commands instead.
Changes:
- Add runtime deprecation warning to stderr on binary startup
- Mark feature as deprecated in README.md
- Add deprecation notices to all 8 MCP documentation files
- Add deprecation log message to run.go
- Update Magefile.go build comment
The code remains fully functional but warns users of its experimental status.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
|
Amp-Thread-ID: https://ampcode.com/threads/T-019c50bc-2906-77db-a31e-0d553338d99b
Co-authored-by: Amp <amp@ampcode.com>
|
|
Adds optional syncing of MCP prompts to Markdown slash command files
for AI agents that don't yet support MCP prompts (e.g., Cursor IDE).
Features:
- Syncs prompts on create/update/delete operations
- Configurable via TOML config, environment vars, or CLI flags
- Backfill support with --sync-all flag
- Thread-safe atomic file writes
- Non-fatal sync failures (logged but don't break operations)
- Comprehensive test coverage (81.1% total)
Configuration:
- Config: [mcp] slashcommand_sync = true, slashcommand_dir = "~/.cursor/commands"
- Env: HEXAI_MCP_SLASHCOMMAND_SYNC, HEXAI_MCP_SLASHCOMMAND_DIR
- CLI: --slashcommand-sync, --slashcommand-dir, --sync-all
Fixes config merging bug where project config would reset global MCP settings.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
|
|
|
Update update_prompt and delete_prompt meta-prompts to work without requiring
Claude to programmatically fetch prompts via prompts/get (which isn't available
as a callable tool in the MCP client).
Changes:
- delete_prompt: Simplified to just ask for confirmation without fetching
- update_prompt: Ask what changes to make without fetching current version
- Removed duplicate/confusing instructions
- More direct workflow: confirm → execute tool
This fixes the issue where Claude would try to use listMcpResources or other
incorrect APIs when trying to follow the meta-prompt instructions.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
|
Update update_prompt and delete_prompt meta-prompts to explicitly instruct
Claude to use "prompts/get" instead of vague "access via prompts capability".
This prevents Claude from incorrectly trying to use the resources API.
Changes:
- update_prompt: "use prompts/get to retrieve the current prompt"
- delete_prompt: "use prompts/get to retrieve the prompt and show details"
Fixes issue where Claude would try to access "plugin:hexai-prompts" resources
instead of using the correct prompts/get method on the hexai-prompts server.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
|
Adds a third built-in meta-prompt for interactively deleting custom prompts
with confirmation. This completes the prompt management trilogy (save, update,
delete).
Changes:
- Add delete_prompt meta-prompt with prompt_name argument
- Interactive workflow: show prompt → confirm → delete via delete_prompt tool
- Update test to expect 3 built-in prompts (was 2)
- Includes safety notes about built-in prompts and backups
The meta-prompt ensures users see what they're deleting and must explicitly
confirm before the delete_prompt tool is called.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
|
Implements tools/list and tools/call endpoints to expose prompt management
operations (create, update, delete) as callable MCP tools. This enables Claude
to use the meta-prompts (save_prompt, update_prompt) to actually create and
modify prompts.
Key changes:
- Add Tool type definitions (Tool, ListToolsRequest, CallToolRequest, etc.)
- Implement handleToolsList() returning 3 tools with JSON Schemas
- Implement handleToolsCall() with tool wrappers for create/update/delete
- Add 17 comprehensive unit tests (82.8% coverage maintained)
- Update meta-prompts to reference tools instead of JSON-RPC methods
- Enable listChanged notifications for immediate prompt availability
- Refactor large functions into helpers to stay under 50-line limit
Tools advertised alongside Prompts capability. All functions under 50 lines.
Backward compatible - existing prompts/* JSON-RPC methods unchanged.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
|
This change moves built-in meta-prompts (save_prompt, update_prompt) from
external JSONL files into compiled Go code, making them always available
and version-controlled with the binary.
Changes:
- Add default_prompts.go with built-in meta-prompt definitions
- Update store to load built-ins from code, not files
- Add protection: built-ins cannot be updated/deleted
- Handle name conflicts: built-ins take precedence with warnings
- Update docs to reflect new architecture (no default.jsonl needed)
- Add comprehensive tests for built-in protection
- Add hexai-mcp-server binary to .gitignore
Benefits:
- Built-ins always in sync with binary version
- No setup required (no default.jsonl to manage)
- Clear separation between built-in and user prompts
- Protection prevents accidental modification of meta-prompts
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
|
Move all cache and state files under ~/.local/hexai/ with subdirectories:
- ~/.local/hexai/cache/ (was ~/.cache/hexai/)
- ~/.local/hexai/state/ (was ~/.local/state/hexai/)
- ~/.local/hexai/data/ (was ~/.local/share/hexai/)
This centralizes all non-config hexai files under a single .local/hexai directory,
making it easier to manage and back up user data.
Amp-Thread-ID: https://ampcode.com/threads/T-019c4e03-73db-70a2-ae27-3e1cc31d59c3
Co-authored-by: Amp <amp@ampcode.com>
|
|
Two issues prevented Claude Code CLI from discovering MCP prompts:
1. Protocol version mismatch: Server always returned "2025-06-18" but
Claude Code sends "2025-11-25". Per MCP spec, server must echo
back the client's version if supported. Now supports all known
versions (2024-11-05 through 2025-11-25).
2. Null prompts array: Go nil slices marshal as JSON null, but Claude
Code expects an empty array []. Initialize prompts slice with make()
to ensure [] in JSON output.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
The MCP stdio protocol uses newline-delimited JSON (JSONL), not LSP-style
Content-Length headers. This was discovered during integration testing with
Claude Code CLI which could not connect to the server.
Also updates docs/mcp-setup.md with correct Claude Code CLI configuration
(use `claude mcp add` instead of editing JSON files) and adds integration
test runbook for testing against real Claude Code CLI instances.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Ensures all code complies with AGENTS.md standards:
- Refactored functions to be under 50 lines each
- Removed built-in prompts - all prompts now served from database only
- Split handlePromptsCreate (72→37 lines) with helper functions
- Split handlePromptsUpdate (76→44 lines) with helper function
- Deleted internal/promptstore/builtin.go (no longer needed)
- Updated tests to create prompts dynamically instead of relying on built-ins
All tests pass with 81.5% coverage maintained.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
|
Implements a full Model Context Protocol (MCP) server for managing and serving prompts
to LLM applications. The server provides CRUD operations for prompts with automatic
backups and template rendering support.
Key additions:
- cmd/hexai-mcp-server: Main MCP server binary entrypoint
- internal/hexaimcp: Server orchestrator with configuration and setup
- internal/mcp: Core MCP protocol implementation (JSON-RPC 2.0)
- internal/promptstore: Prompt storage with JSONL backend and automatic backups
- Comprehensive test suites achieving 80%+ coverage for all MCP packages
- Magefile targets for building and installing the MCP server
- Complete documentation for setup, API, prompts, and backups
Test coverage:
- internal/hexaimcp: 84.3%
- internal/mcp: 80.3%
- internal/promptstore: 81.2%
- Overall project: 81.5%
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|