mcp-coding
This repository is an experiment to explore the Model Context Protocol (MCP) and local LLM orchestration. It is intended for learning and prototyping, not as a production-ready product.
The project includes:
- an MCP HTTP server (
server.ts) with filesystem tools (read_file,write_file,list_files,delete_file) - a CLI agent (
main.ts) that talks to the LLM and executes MCP tool calls when needed
Requirements (first-time setup)
If you just cloned this repository, install only:
This repository currently defaults to qwen3.6:latest in adapters/ollama.llm.ts. If you keep that default, run:
ollama pull qwen3.6:latest
Initialize the project
npm install
Run locally
Start MCP server (terminal 1):
npm run server
Server endpoint:
http://localhost:8080/mcp
Start agent (terminal 2):
npm run start
In the interactive prompt, type your requests. To exit:
exit
Use MCP Inspector
- Make sure the MCP server is running:
npm run server
- In another terminal, start Inspector:
npm run inspector
- In Inspector, connect to:
http://localhost:8080/mcp
You can then inspect available tools and test tool calls against the local MCP server.
Available scripts
npm run build- build TypeScriptnpm test- run Jest testsnpm run start- run the agent (client.ts)npm run start:watch- run the agent in watch modenpm run server- run MCP server (server.ts)npm run server:watch- run MCP server in watch modenpm run inspector- run MCP Inspector
How it works
- You enter a prompt in the CLI client.
- The agent sends messages to the LLM through Ollama.
- If the LLM returns tool calls, the client invokes tools on the MCP server.
- Tool results are sent back to the LLM to continue the loop.
Repository structure
.
├── main.ts
├── server.ts
├── adapters/
│ ├── index.ts
│ └── ollama.llm.ts
├── ports/
│ ├── index.ts
│ └── llm.port.ts
├── package.json
└── tsconfig.json
License
ISC











