[FEATURE] Define Custom Tools
- Vorherrschende Sprache
- Lua
- Sterne
- 3.1k
- Forks
- 216
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
## Feature Description
I'd like to be able to define custom MCP tools in the plugin's config.
## Use Case
Users would be able to define any function that can be run by Claude within neovim. The use cases are basically infinite. Anything you can imagine as a Lua function could be run by Claude.
## Proposed Solution
I Imagine the function definition to look somewhat like this:
```lua
{
"coder/claudecode.nvim",
dependencies = { "folke/snacks.nvim" },
-- ...
custom_tools = {
{
"tool_name",
title = "The tool's title",
desc = "Does something",
input_schema = {
-- ...
},
output_schema = {
-- ...
},
annotations = {
-- ...
},
callback = function(arg1, arg2)
-- ...
end
},
},
}
```
## Alternatives Considered
- Letting claude execute arbitrary vim commands. That's not very Neovimy and more risky though. And this feature could still be implemented using the proposed solution.
- Making my own plugin. Though the power of claudecode.nvim is its WebSocket based integration, which I'd have to replicate (or I'd have to use a local http transport).
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Start by tracing how the plugin reads its config and how its WebSocket-based Claude integration exposes tools. Define the supported custom_tools shape, including schemas and callbacks, and verify that a configured Lua function can be invoked by Claude within Neovim.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- lua, neovim
- Bereich
- tooling
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 28/100