Skip to content

[Bug] MCP Prompt Server doesn't receive extra arguments from cli #9776

@not94

Description

@not94

Description

I just ran a simple mcp server from local and install it on opencode.

Here is my mcp code:

from mcp.server.fastmcp import FastMCP

# Create an MCP server
mcp = FastMCP("Demo")


# Add an addition tool
@mcp.tool()
def add(a: int, b: int) -> int:
    """Add two numbers"""
    return a + b


# Add a dynamic greeting resource
@mcp.resource("greeting://{name}")
def get_greeting(name: str) -> str:
    """Get a personalized greeting"""
    return f"Hello, {name}!"


# Add a prompt
@mcp.prompt()
def greet_user(name: str, style: str) -> str:
    """Generate a greeting prompt"""
    styles = {
        "friendly": "Please write a warm, friendly greeting",
        "formal": "Please write a formal, professional greeting",
        "casual": "Please write a casual, relaxed greeting",
    }

    return f"{styles.get(style, styles['friendly'])} for someone named {name}."

But when I pass multiple arguments into command line, the server just receive name argument but not style argument:

# local_test is my mcp server name
/local_test:greet_user 123 formal

Please write a warm, friendly greeting for someone named 123 formal.

I have checked mcp prompt implementation #5767, but didn't find any issues.

Plugins

No response

OpenCode version

1.1.20

Steps to reproduce

See the description.

Screenshot and/or share link

No response

Operating System

No response

Terminal

ITerm2

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions