Skip to main content
Glama
keithah

Qwen3-Coder MCP Server

by keithah

Qwen3-Coder MCP Server for Claude Code

This setup integrates Qwen3-Coder (30B parameter model) with Claude Code via the Model Context Protocol (MCP), optimized for 64GB RAM systems.

Features

  • Qwen3-Coder 30B: Latest and most powerful Qwen Coder model with exceptional coding capabilities

  • 64GB RAM Optimized: Configuration tuned for maximum performance on high-memory systems

  • MCP Integration: Seamless integration with Claude Code through 5 specialized tools

  • Advanced Settings: Flash attention, optimized KV cache, and parallel processing

Related MCP server: Review MCP Server

Optimization Settings

The setup includes these optimizations for your 64GB RAM:

  • OLLAMA_NUM_PARALLEL=8: Handle 8 parallel requests

  • OLLAMA_MAX_LOADED_MODELS=4: Keep 4 models in memory simultaneously

  • OLLAMA_FLASH_ATTENTION=1: Enable efficient attention mechanism

  • OLLAMA_KV_CACHE_TYPE=q8_0: High-quality 8-bit cache

  • OLLAMA_KEEP_ALIVE=24h: Keep models loaded for 24 hours

Available Tools

1. qwen3_code_review

Reviews code for quality, bugs, and best practices.

Parameters:

  • code (required): The code to review

  • language (optional): Programming language

2. qwen3_code_explain

Provides detailed explanations of how code works.

Parameters:

  • code (required): The code to explain

  • language (optional): Programming language

3. qwen3_code_generate

Generates new code based on requirements.

Parameters:

  • prompt (required): Description of what to generate

  • language (optional): Target programming language

4. qwen3_code_fix

Fixes bugs and issues in existing code.

Parameters:

  • code (required): The buggy code

  • error (optional): Error message or description

  • language (optional): Programming language

5. qwen3_code_optimize

Optimizes code for performance, memory, or readability.

Parameters:

  • code (required): The code to optimize

  • criteria (optional): Optimization criteria

  • language (optional): Programming language

Quick Start

1. Start the Optimized Server

cd /Users/keith/qwencoder
./start-qwen3-optimized.sh

2. Restart Claude Code

Close and reopen Claude Code to load the MCP server configuration.

3. Use in Claude Code

The tools will be automatically available in your Claude Code sessions. You can use them by referencing the tool names in your conversations.

Manual Commands

Start Ollama with optimizations:

OLLAMA_NUM_PARALLEL=8 OLLAMA_MAX_LOADED_MODELS=4 OLLAMA_FLASH_ATTENTION=1 OLLAMA_KV_CACHE_TYPE=q8_0 ollama serve

Test the model directly:

ollama run qwen3-coder:30b "Write a Python function to calculate factorial"

Test the MCP server:

node qwen3-mcp-server.js

Troubleshooting

If Claude Code doesn't see the MCP server:

  1. Check that the config.json has the correct path

  2. Restart Claude Code completely

  3. Verify Ollama is running: ollama list

If the model is slow:

  1. Ensure you have enough RAM available

  2. Check that OLLAMA_FLASH_ATTENTION=1 is set

  3. Monitor system resources with Activity Monitor

If tools aren't working:

  1. Test Ollama directly: ollama run qwen3-coder:30b "test"

  2. Check MCP server logs in Console.app

  3. Verify the Node.js dependencies are installed

Files Structure

/Users/keith/qwencoder/
├── qwen3-mcp-server.js          # MCP server implementation
├── package.json                 # Node.js dependencies
├── start-qwen3-optimized.sh     # Optimized startup script
└── README.md                    # This file

Configuration Files

  • Claude Config: /Users/keith/Library/Application Support/Claude/config.json

  • MCP Server: /Users/keith/qwencoder/qwen3-mcp-server.js

Performance Notes

With 64GB RAM, you can:

  • Keep multiple large models loaded simultaneously

  • Handle numerous parallel requests

  • Use high-quality cache settings for better performance

  • Run for extended periods without memory issues

The Qwen3-Coder 30B model uses approximately 18GB of RAM when loaded, leaving plenty of room for other applications and additional models.

Available Tools

5 tools
qwen3_code_explainC

Explain code using Qwen3-Coder

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesThe code to explain
languageNoProgramming language of the code

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'explains code' but doesn't describe how it behaves—e.g., whether it provides detailed breakdowns, summaries, or examples; if it handles errors or incomplete code; or what the output format looks like. This leaves significant gaps in understanding the tool's operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise—a single sentence with no wasted words. It's front-loaded with the core purpose, making it easy to scan and understand quickly. Every word earns its place by directly stating the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the explanation output entails (e.g., text summary, structured analysis), nor does it address behavioral aspects like error handling or limitations. For a tool with no structured behavioral data, the description should provide more context to be fully helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, clearly documenting both parameters ('code' and 'language'). The description adds no additional semantic information beyond what the schema provides, such as examples or constraints. With high schema coverage, the baseline score of 3 is appropriate, as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Explain code using Qwen3-Coder'. It specifies the verb ('explain') and resource ('code'), making it easy to understand what the tool does. However, it doesn't differentiate itself from sibling tools like 'qwen3_code_review' or 'qwen3_code_fix', which might also involve code analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'qwen3_code_review' and 'qwen3_code_fix' available, there's no indication of when explanation is preferred over review or fixing, nor any context about prerequisites or typical use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

qwen3_code_fixC

Fix bugs in code using Qwen3-Coder

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesThe buggy code to fix
errorNoError message or description of the bug
languageNoProgramming language of the code

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It states the tool fixes bugs but doesn't describe how (e.g., whether it modifies code in-place, returns corrected code, requires specific permissions, has rate limits, or handles partial fixes). The phrase 'using Qwen3-Coder' hints at an underlying model but doesn't clarify operational behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (5 words) and front-loaded with the core purpose. Every word earns its place: 'Fix bugs' (action), 'in code' (resource), 'using Qwen3-Coder' (method). There's no wasted language or unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a code-fixing tool with 3 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what constitutes a successful fix, whether it returns corrected code or just suggestions, error handling, or limitations. The agent lacks critical context about the tool's operation and results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all parameters are documented in the schema. The description adds no additional parameter semantics beyond what's already in the schema (code, error, language). It doesn't explain relationships between parameters or provide examples. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Fix bugs') and resource ('code using Qwen3-Coder'), making the purpose immediately understandable. It distinguishes from siblings by focusing on bug fixing rather than explanation, generation, optimization, or review. However, it doesn't specify what types of bugs or scope of fixes, keeping it from a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus the sibling tools (explain, generate, optimize, review). It doesn't indicate whether it's for runtime errors, logical bugs, syntax issues, or specific scenarios. Without any usage context or alternatives mentioned, the agent must infer when this tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

qwen3_code_generateC

Generate code using Qwen3-Coder

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYesDescription of what code to generate
languageNoTarget programming language

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool generates code but does not explain how it works, what limitations exist (e.g., code quality, length constraints), or what the output format looks like. For a tool with no annotations and no output schema, this is a significant gap in transparency about its behavior and results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste: 'Generate code using Qwen3-Coder'. It is front-loaded and appropriately sized for the tool's purpose, making it easy to parse without unnecessary details. Every word earns its place, contributing directly to understanding the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a code generation tool, the lack of annotations, and no output schema, the description is incomplete. It does not address key aspects like what the generated code includes, how errors are handled, or any usage limits. For a tool with two parameters and no structured behavioral hints, more context is needed to ensure the agent can use it effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with clear documentation for 'prompt' and 'language' parameters. The description does not add any additional meaning beyond what the schema provides, such as examples or constraints. Since the schema does the heavy lifting, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as 'Generate code using Qwen3-Coder', which specifies the verb ('Generate') and resource ('code') with the method ('using Qwen3-Coder'). It distinguishes from siblings like 'explain', 'fix', 'optimize', and 'review' by focusing on creation rather than analysis or modification. However, it doesn't explicitly mention what Qwen3-Coder is or its capabilities, keeping it from a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus its siblings. It lacks explicit instructions on scenarios for code generation compared to alternatives like code explanation or fixing, and does not mention prerequisites or exclusions. This leaves the agent to infer usage based on tool names alone, which is insufficient for clear decision-making.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

qwen3_code_optimizeC

Optimize code using Qwen3-Coder

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesThe code to optimize
criteriaNoOptimization criteria (performance, memory, readability, etc.)
languageNoProgramming language of the code

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure but only states the basic function. It doesn't explain what 'optimize' entails (e.g., whether it modifies code in-place, returns suggestions, requires internet access, has rate limits, or handles errors), leaving critical operational details unspecified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise—a single sentence with zero wasted words—and front-loads the core action ('optimize code'). It efficiently communicates the essential purpose without unnecessary elaboration, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of code optimization (a non-trivial task), lack of annotations, and no output schema, the description is incomplete. It fails to address behavioral aspects, usage context among siblings, or expected outputs, leaving significant gaps for an agent to operate effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no parameter semantics beyond what the schema already provides (100% coverage). The schema fully describes 'code', 'criteria', and 'language', so the baseline score of 3 is appropriate as the description doesn't compensate with additional context like examples or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('optimize') and resource ('code') using a specific tool ('Qwen3-Coder'), making the purpose understandable. However, it doesn't differentiate this optimization tool from its siblings (explain, fix, generate, review), which all involve code processing but serve different functions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus its siblings. There's no mention of alternatives, prerequisites, or specific scenarios where optimization is preferred over explanation, fixing, generation, or review, leaving the agent to guess based on tool names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

qwen3_code_reviewC

Review code using Qwen3-Coder

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesThe code to review
languageNoProgramming language of the code

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions 'using Qwen3-Coder' but doesn't disclose behavioral traits like whether it's read-only, what the output format is, potential rate limits, or any side effects. This leaves the agent uncertain about the tool's operation and results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words, making it appropriately sized. However, it's not front-loaded with critical details like purpose differentiation or usage context, which slightly reduces its effectiveness despite the brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a code review tool with no annotations and no output schema, the description is incomplete. It fails to explain what the review entails, what the output might look like, or how it differs from sibling tools, leaving significant gaps for an AI agent to understand and use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema already documents both parameters ('code' and 'language') adequately. The description doesn't add any meaning beyond this, such as examples or constraints, but it doesn't need to compensate as the schema provides sufficient baseline information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Review code using Qwen3-Coder' states the action (review) and resource (code) but is vague about what 'review' entails. It doesn't differentiate from siblings like 'explain', 'fix', 'optimize', or 'generate', leaving the specific purpose unclear beyond a generic code analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like qwen3_code_explain or qwen3_code_fix. The description lacks context about scenarios where a 'review' is appropriate, such as for quality assessment, bug detection, or style checking, leaving the agent without usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 5 tool updates
    • First observedqwen3_code_explain
    • First observedqwen3_code_fix
    • First observedqwen3_code_generate
    • First observedqwen3_code_optimize
    • First observedqwen3_code_review

TDQS

B3.3/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: explain, fix, generate, optimize, and review code. There is no overlap in functionality, and the descriptions make it easy for an agent to select the right tool for each specific task.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with the prefix 'qwen3_code_' followed by a specific action (explain, fix, generate, optimize, review). This predictable naming scheme enhances readability and usability.

Tool Count5/5

With 5 tools, the server is well-scoped for code-related tasks. Each tool serves a distinct and essential function in the coding workflow, making the count appropriate and efficient for the domain.

Completeness4/5

The toolset covers key code operations (explain, fix, generate, optimize, review), but minor gaps exist, such as the lack of tools for code testing or refactoring. However, the core workflows are well-covered, and agents can work around these omissions.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables advanced OpenAI GPT model integration with Claude through 5 specialized tools including GPT-5 reasoning, token optimization, context management, batch processing, and model comparison. Features intelligent fallback mechanisms and task-specific system prompts for enhanced AI capabilities.
    201
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Enables Claude to perform thorough code reviews by integrating with Codex and Gemini CLIs to provide senior-level feedback on code quality, security, performance, and best practices. Supports reviewing code snippets, individual files, or entire directories with automatic detection of available review tools.
    4
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables Claude to delegate coding tasks to local Ollama models, reducing API token usage by up to 98.75% while leveraging local compute resources. Supports code generation, review, refactoring, and file analysis with Claude providing oversight and quality assurance.
    488
    24
    AGPL 3.0
  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Transforms Claude into a production-grade pair programmer by orchestrating best-in-class APIs (Morph, Chroma, DSPy) for iterative code evolution to 95%+ quality, semantic codebase search, package discovery across 3,000+ libraries, and pattern learning.
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/keithah/qwen3-coder-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server