---
title: "Kiwi for Semgrep"
description: "Have the agent on a Kiwi step scan the code it changed for security issues with Semgrep through the Semgrep CLI's MCP server."
canonical: "https://kiwiflow.io/integrations/semgrep"
---

# Kiwi for Semgrep

Have the agent on a Kiwi step scan the code it changed for security issues with Semgrep through the Semgrep CLI's MCP server.

- Your agent works in Semgrep through its own connection. Kiwi does not call Semgrep and never holds its credentials.
- A workflow skill can list Semgrep among the tools it requires. When you supply your agent's available tools to a skill check and Semgrep is not among them, the check reports `SK15-UNSUPPORTED-TOOL`.
- A project Admin can add links to Semgrep, with notes, under Connections and bind them to the steps that use them. The agent reads them with `list_connections`.
- The agent can report the tools and plugins it ran with, including its Semgrep connection, with `report_configuration`.
- The agent submits links to its work in Semgrep as the step's outputs. People review them, and sign-off stays with the people your workflow names.

## What your agent can do in Semgrep

- Run a security check on code the agent wrote.
- Scan files with Semgrep rules or with a custom rule the agent writes.
- Print a file's abstract syntax tree to help write a rule.
- Read the existing Semgrep findings for a project.
- List the supported languages and read the rule schema.

## Set up

### 1. Connect your agent to Kiwi

Add Kiwi's hosted MCP server, `https://kiwiflow.io/mcp`, to your coding agent.

- [Coding agents](https://kiwiflow.io/integrations#agent)
- [Quickstart](https://docs.kiwiflow.io/quickstart#connect-your-agent)

### 2. Connect your agent to Semgrep

Run the Semgrep MCP server where your agent runs. The credentials stay with your agent.

```
semgrep mcp
```

- [Semgrep documentation](https://docs.semgrep.dev/cli-reference)

### 3. Example skill

Publish instructions like these as a workflow skill that lists Semgrep among its required tools.

```
Start from the changed files listed in the assignment.
Run a Semgrep security check on those files and fix the findings.
Run the check one more time after the fixes, and no more.
Submit the remaining findings, or none, as the step's outputs.
If a finding needs a judgment call, report a blocker to the step owner;
the assigned reviewer decides on any rule exceptions.
```

## More code quality and security integrations

- [Kiwi for SonarQube](https://kiwiflow.io/integrations/sonarqube.md): Have the agent on a Kiwi step read the SonarQube quality gate and issues for its change through the SonarQube MCP server.
- [Kiwi for Snyk](https://kiwiflow.io/integrations/snyk.md): Have the agent on a Kiwi step scan its code and dependencies for vulnerabilities through the MCP server in the Snyk CLI.
- [Kiwi for Codecov](https://kiwiflow.io/integrations/codecov.md): Have the agent on a Kiwi step read a pull request's coverage change from the Codecov API and return it with the step's outputs.
- [Kiwi for CodeRabbit](https://kiwiflow.io/integrations/coderabbit.md): Have the agent on a Kiwi step review its own changes with the CodeRabbit CLI and fix the findings before it submits them.
- [Kiwi for Socket](https://kiwiflow.io/integrations/socket.md): Have the agent on a Kiwi step check the Socket scores of a dependency before adding it, through Socket's MCP server.

- [Get started](https://kiwiflow.io/get-started)
- [Read the setup guide](https://docs.kiwiflow.io/other-tools)
