A minimal TypeScript prototype for MCP-style tools and resources.
mcp-tool-server
A minimal TypeScript prototype for MCP-style tools and resources.
Current scope is the registry layer plus a small set of local utility tools that can be wired into a full MCP server.
Features
- In-process tool and resource registry
- Zod input validation for tool calls
- Local utility tools for command exec, file reads, directory trees, and search
- Project manifest resource exposure
- Node test coverage for registry behavior
Quick Start
npm install
npm test
npm run build
Current Scope
This repo does not yet include a complete stdio/SSE transport or Claude Desktop wiring. It is currently a clean registry prototype that can be embedded into a fuller MCP implementation.
Architecture
src/
├── server.ts # Registry assembly + request handlers
├── registry.ts # Tool and resource registry
├── tools/
│ ├── exec.ts # Shell command tool
│ ├── fs.ts # Filesystem tools
│ └── search.ts # Grep/ripgrep search tool
└── resources/
└── manifest.ts # Project manifest resources
Testing
npm test
License
MIT
Tools (3)
execExecutes shell commands on the local machine.fsProvides filesystem access tools including reading files and directory trees.searchPerforms grep or ripgrep searches within the filesystem.Configuration
{ "mcpServers": { "mcp-tool-server": { "command": "node", "args": ["/path/to/mcp-tool-server/dist/server.js"] } } }