create_pull_request

Create a new pull request in a GitHub repository.

SERVERGitHub SOURCEoci:ghcr.io/github/github-mcp-server:1.3.0
Medium RISK CLASS
Category Write
Parameters 80 required
Recommended Rate-limitedsee the rule below
Registry record Grade D, identity verified Pull the record →

This record as markdown: /tools/github/create-pull-request.md

What create_pull_request does on GitHub

AI agents use create_pull_request to create or update resources in GitHub, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your GitHub environment.

ParameterTypeRequiredDescription
base string Branch to merge into
body string PR description
head string Branch containing changes
repo string Repository name
draft boolean Create as draft PR
owner string Repository owner
title string PR title
maintainer_can_modify boolean Allow maintainer edits

Parameters from the server's own tool schema.

Why create_pull_request is rated Medium

This tool creates a new pull request, which is a reversible write operation. A pull request can be closed, deleted, or discarded without permanent data loss. While it can trigger workflows and have side effects, the primary action is creating a reviewable change proposal, not executing arbitrary code or deleting data.

From the tool's definition Tool name is 'create_pull_request' and description states 'Create a new pull request in a GitHub repository.' The verb 'create' and the action of introducing a new pull request into a repository indicates data creation.

Risk signalsAccepts raw HTML/template content (body)

Questions about create_pull_request

What does the create_pull_request tool do? +

Create a new pull request in a GitHub repository. It is categorised as a Write tool in the GitHub MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.

What parameters does create_pull_request accept? +

create_pull_request accepts 8 parameters: base, body, head, repo, draft, owner, title, maintainer_can_modify. The full parameter table on this page comes from the server's own tool schema.

How do I enforce a policy on create_pull_request? +

Register the GitHub MCP server in PolicyLayer and add a rule for create_pull_request: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches GitHub. Nothing to install.

What risk level is create_pull_request? +

create_pull_request is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.

Can I rate-limit create_pull_request? +

Yes. Add a rate_limit block to the create_pull_request rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block create_pull_request completely? +

Set action: deny in the PolicyLayer policy for create_pull_request. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides create_pull_request? +

create_pull_request is provided by the GitHub MCP server (oci:ghcr.io/github/github-mcp-server:1.3.0). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.

More on GitHub, and thousands of servers like it.

// THE MCP REGISTRY

PolicyLayer tracks 44,603 MCP servers and 515,000+ tools.

Every server has a live record: who publishes it, whether it answers without auth, its risk grade, every tool classified, the recommended policy. This page is one line of GitHub's. Pull the full record:

Teams ship this data inside their own products. See what a licence covers →

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.