jeesty-mcp
v0.4.3
Published
MCP server for AI assistants - provides workspace tools for GitHub Copilot, Claude, and other MCP-compatible clients
Maintainers
Readme
Jeesty MCP
MCP Server for AI Assistants
An npm package that provides an MCP (Model Context Protocol) server, giving AI assistants like GitHub Copilot and Claude access to workspace tools.
Quick Start
npx jeesty-mcp initThis creates:
.jeestymcp/config.json— tool, prompt, and resource definitions.jeestymcp/instructions.md— AI instructions template for your project- Adds jeesty-mcp to your VS Code MCP config
Reload VS Code to start using the MCP server.
Configuration Location
The init command can add jeesty-mcp to two different places:
# User-level config (default) - applies to ALL your projects
npx jeesty-mcp init
# Workspace-level config - only for this project
npx jeesty-mcp init --workspace| Config Level | Location | Scope |
|--------------|----------|-------|
| User | ~/.vscode/mcp.json | All VS Code workspaces |
| Workspace | .vscode/mcp.json | Just this project |
Precedence: Workspace config always overrides user config. This is useful if you want a project to use a different MCP server setup (e.g., for development).
Project Configuration
Your project's .jeestymcp/ folder contains:
| File | Purpose |
|------|---------|
| config.json | Define custom tools, prompts, and resources |
| instructions.md | AI instructions template (uses mustache variables) |
config.json Example
{
"tools": {
"deploy": {
"usage": "Deploy the application to production",
"cmd": "npm run deploy",
"params": {
"environment": {
"type": "string",
"description": "Target environment (staging/production)",
"required": true
}
}
},
"webget": {
"usage": "Fetch content from a URL",
"module": "scripts/webget.js",
"params": {
"url": { "type": "string", "description": "The URL to fetch", "required": true }
}
}
},
"prompts": {
"explain-code": {
"description": "Explain code in plain English",
"template": "Please explain the following code:\n\n{{code}}"
}
},
"resources": {
"myapp://status": {
"description": "Get app status",
"url": "http://localhost:3000/status",
"mimeType": "application/json"
}
}
}Built-in Tools
| Tool | Description |
|------|-------------|
| pingJeestyMCP | Verify the MCP server is running |
Custom Tools
Tools can execute in two modes:
Command mode (cmd): Spawns a shell and runs the command
{
"usage": "Run tests",
"cmd": "npm test",
"params": { ... }
}Module mode (module): Imports a JS/TS module and calls its run() function
{
"usage": "Fetch a URL",
"module": "scripts/webget.js",
"params": { ... }
}Module mode is faster (no shell overhead) and can return structured data. The module must export:
export async function run(params: Record<string, unknown>): Promise<string | object>Tool Parameters
Parameters support these options:
type:"string","number","boolean"description: Help text shown to the AIrequired: Whether the parameter is requiredaddToCmdWithoutKey: If true, value is passed as positional arg instead of--key=value
CLI Commands
npx jeesty-mcp init # Add to user MCP config + create .jeestymcp/
npx jeesty-mcp init --workspace # Add to workspace .vscode/mcp.json instead
npx jeesty-mcp remove # Remove from user MCP config
npx jeesty-mcp --help # Show helpHow It Works
- VS Code starts the jeesty-mcp server (via the MCP config)
- The server searches upward from your workspace for
.jeestymcp/config.json - AI assistants can call the provided tools to interact with your workspace
- Custom tools execute shell commands or in-process modules and return output
Development
If you're developing jeesty-mcp itself:
Auto-Restart with Nodemon
Configure your workspace .vscode/mcp.json to use the local build with auto-restart:
{
"servers": {
"jeesty-mcp": {
"type": "stdio",
"command": "npx",
"args": ["nodemon", "--watch", "out", "--ext", "js", "--exec", "node", "${workspaceFolder}/out/mcp-server/index.js"],
"env": {
"JEESTY_WORKSPACE_PATH": "${workspaceFolder}"
}
}
}
}This workspace config overrides the user-level config, so your dev environment uses the local build while other projects use the published npm package.
Dev Config Files
The repo uses legacy config file names for development (not published to npm):
jm-config.json— dev configurationjm-instructions.md— dev instructions template
The MCP server checks for these as a fallback after .jeestymcp/config.json.
License
MIT
