Regression: agent can no longer create PRs via GitHub MCP (`create_pull_request` without arguments)

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

Describe the Bug

I am using Cursor with the GitHub MCP server (github-mcp-server) integrated into a GitHub project (owner and repo names omitted here for privacy).

Until last week, the agent was able to create Pull Requests automatically via MCP using the create_pull_request tool. After a recent update (apparently around the time the underlying AI model was updated/switched), this stopped working.

Now the behavior is:

  • The agent uses the wrapper CallMcpTool with:
    • server = "<my-mcp-github-server-id>"
    • toolName = "create_pull_request"
  • The call does not allow passing arguments (e.g. { owner, repo, title, head, base, body, ... }).
  • The GitHub MCP responds with an error:

missing required parameter: owner

So the create_pull_request tool requires mandatory parameters (owner, repo, title, head, base), but the wrapper exposed to the model no longer accepts sending this arguments object, only the tool name. This makes it impossible to create PRs automatically, even though MCP and the PAT are correctly configured.


Steps to Reproduce

  1. Configure GitHub MCP with github-mcp-server and a valid PAT.
  2. Use an agent in Cursor on a GitHub repo.
  3. Ask the agent explicitly to:
    • create a feature branch,
    • commit a change,
    • push the branch,
    • create a PR via GitHub MCP.
  4. Current result:
    • The branch is created, committed, and pushed successfully.
    • In the PR creation step, the call to create_pull_request fails with
      missing required parameter: owner.

Steps to Reproduce

  1. Configure GitHub MCP with github-mcp-server and a valid PAT.
  2. Use an agent in Cursor on a GitHub repo.
  3. Ask the agent explicitly to:
    • create a feature branch,
    • commit a change,
    • push the branch,
    • create a PR via GitHub MCP.
  4. Current result:
    • The branch is created, committed, and pushed successfully.
    • In the PR creation step, the call to create_pull_request fails with
      missing required parameter: owner.

Expected Behavior

The agent should be able to call the MCP tool create_pull_request with arguments, for example:

{
  "server": "<my-mcp-github-server-id>",
  "toolName": "create_pull_request",
  "arguments": {
    "owner": "<my-github-owner>",
    "repo": "<my-repo-name>",
    "title": "Add backend/frontend development skills and CRUD workflow",
    "head": "<feature-branch-name>",
    "base": "main",
    "body": "..."
  }
}

With this, the PR is created automatically, as it used to be before the recent update.

Operating System

Linux

Version Information

  • Cursor version: 2.6.19
  • OS: Linux Mint 21.3 Cinnamon
  • Cinnamon: 6.0.4
  • Kernel: 5.15.0-173-generic
  • GitHub MCP server image: ghcr.io/github/github-mcp-server@sha256:7b1384cdd6d025c09256af2fb6cb79bc5e87aedc957c8826b5e50d8cb82f0be3

For AI issues: which model did you use?

  • Model: Claude (latest available in Cursor at the time of the regression)

Additional Information

This looks like a regression in how the CallMcpTool wrapper is exposed to the model (lack of support for arguments).

In my project I have already clearly defined, and even documented in .cursor/skills/github-mcp/SKILL.md, what owner, repo, base, and head should be, but the agent has no way to pass these values to the MCP because of the current CallMcpTool signature.

Could you please restore support for passing arguments (or expose an equivalent interface) so the agent can once again create pull requests via the GitHub MCP create_pull_request tool?

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey, this is a known issue. The CallMcpTool wrapper does support arguments in its schema. The problem is that the model sometimes doesn’t fill in that field when it auto-calls MCP tools.

The same bug was reported here: MCP tool called without required "key" arg during Agent auto-call, manual call works

As a workaround, try being very explicit in your SKILL.md about the exact call format:

When creating a PR via GitHub MCP, ALWAYS call create_pull_request with all required arguments:
{
  "owner": "<owner>",
  "repo": "<repo>",
  "title": "<title>",
  "head": "<branch>",
  "base": "main",
  "body": "<description>"
}
NEVER call create_pull_request without the owner, repo, title, head, and base arguments.

You can also try switching to a different model. Behavior varies across models.

Let me know if that helps.

This topic was automatically closed 22 days after the last reply. New replies are no longer allowed.