An MCP server that provides access to LLMs using the LlamaIndexTS library.
This MCP server provides the following tools:
generate_code: Generate code based on a descriptiongenerate_code_to_file: Generate code and write it directly to a file at a specific line numbergenerate_documentation: Generate documentation for codeask_question: Ask a question to the LLM
Update your MCP config to add the mcp-llm server:
{
"mcpServers": {
"llm": {
"command": "npx",
"args": [
"-y",
"mcp-llm"
],
"env": {
"LLM_MODEL_NAME": "deepseek-r1:7b-qwen-distill-q6_k_l",
"LLM_MODEL_PROVIDER": "ollama",
"LLM_BASE_URL": "http://localhost:11434",
"LLM_ALLOW_FILE_WRITE": "true",
"LLM_TIMEOUT_S": "240"
},
"disabled": false,
"autoApprove": [
"generate_code",
"generate_documentation",
"ask_question",
"generate_code_to_file"
],
"timeout": 300
},
}
}npm run build- Build the projectnpm run watch- Watch for changes and rebuildnpm start- Start the MCP servernpm run example- Run the example scriptnpm run inspector- Run the MCP inspector
The MCP server is configurable using environment variables:
LLM_MODEL_NAME: The name of the model to use (e.g.,qwen2-32b:q6_k,anthropic.claude-3-7-sonnet-20250219-v1:0)LLM_MODEL_PROVIDER: The model provider (e.g.,bedrock,ollama,openai,openai-compatible)
LLM_BASE_URL: Base URL for the model provider (e.g.,https://ollama.internal,http://my-openai-compatible-server.com:3000/v1)LLM_TEMPERATURE: Temperature parameter for the model (e.g.,0.2)LLM_NUM_CTX: Context window size (e.g.,16384)LLM_TOP_P: Top-p parameter for the model (e.g.,0.85)LLM_TOP_K: Top-k parameter for the model (e.g.,40)LLM_MIN_P: Min-p parameter for the model (e.g.,0.05)LLM_REPETITION_PENALTY: Repetition penalty parameter for the model (e.g.,1.05)LLM_SYSTEM_PROMPT_GENERATE_CODE: System prompt for the generate_code toolLLM_SYSTEM_PROMPT_GENERATE_DOCUMENTATION: System prompt for the generate_documentation toolLLM_SYSTEM_PROMPT_ASK_QUESTION: System prompt for the ask_question toolLLM_TIMEOUT_S: Timeout in seconds for LLM requests (e.g.,240for 4 minutes)LLM_ALLOW_FILE_WRITE: Set totrueto allow thegenerate_code_to_filetool to write to files (default:false)OPENAI_API_KEY: API key for OpenAI (required when using OpenAI provider)
- Clone the repository
- Install dependencies:
npm install- Build the project:
npm run build- Update your MCP configuration
The repository includes an example script that demonstrates how to use the MCP server programmatically:
node examples/use-mcp-server.jsThis script starts the MCP server and sends requests to it using curl commands.
{
"description": "Create a function that calculates the factorial of a number",
"language": "JavaScript"
}{
"description": "Create a function that calculates the factorial of a number",
"language": "JavaScript",
"filePath": "/path/to/factorial.js",
"lineNumber": 10,
"replaceLines": 0
}The generate_code_to_file tool supports both relative and absolute file paths. If a relative path is provided, it will be resolved relative to the current working directory of the MCP server.
{
"code": "function factorial(n) {\n if (n <= 1) return 1;\n return n * factorial(n - 1);\n}",
"language": "JavaScript",
"format": "JSDoc"
}{
"question": "What is the difference between var, let, and const in JavaScript?",
"context": "I'm a beginner learning JavaScript and confused about variable declarations."
}