Publish Control
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Publish Controlrun a full publish security scan on this repo and show my score"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🛡️ Publish Control
Pre-publish security & code quality analysis MCP server for AI coding assistants (Google Antigravity, Cursor, Claude Desktop, Codex).
Publish Control, yapay zeka kodlama asistanları ile geliştirilen projeleri yayına almadan önce 17 farklı güvenlik ve mimari kategorisinde otomatik analizden geçiren, açık kaynaklı bir Model Context Protocol (MCP) sunucusudur.
🎯 17 Güvenlik & Kalite Denetim Modülü
AI asistanınıza /publish-control yazdığınızda sistem aşağıdaki 17 kontrolü eşzamanlı çalıştırır:
No | Modül | İkon | Açıklama | Seviye |
1 | Secrets Detection | 🔑 | AWS, Stripe, GitHub, JWT, Google API anahtarları ve Shannon entropi analizi |
|
2 | Environment Security | 📁 |
|
|
3 | Injection Protection | 💉 | SQL string concat, NoSQL ( |
|
4 | Auth & Authorization | 🔒 | JWT |
|
5 | Server Config Audit | 🌐 |
|
|
6 | CORS Misconfiguration | 🛡️ | Wildcard ( |
|
7 | HTTPS / TLS Security | 🔐 |
|
|
8 | Path Traversal | 📂 |
|
|
9 | SSRF Detection | 🌍 | Kullanıcı kontrollü URL istekleri, |
|
10 | Docker Security | 🐳 |
|
|
11 | Dependency Audit | 📦 | Eksik lockfile ( |
|
12 | Rate Limiting | ⚡ | Brute-force ve DoS risklerine karşı rate limiter koruma eksikliği |
|
13 | File Permissions | 🗂️ |
|
|
14 | Error Handling | ❌ | Stack trace sızıntısı, istemciye çiğ hata objesi dönülmesi |
|
15 | Sensitive Logging | 📝 |
|
|
16 | Security Config | 🔧 | Eksik |
|
17 | Code Quality Hygiene | 📊 |
|
|
Related MCP server: Security-Use MCP Server
🛠️ Sunulan MCP Araçları (Tools)
publish_control: 17 kategoride tam tarama yapar, 0-100 güvenlik skoru ve görsel Markdown raporu üretir.publish_control_quick: Sadece en kritik güvenlik açıklarını (Secrets, Env, Injection, Auth, Server) hızla inceler.publish_control_fix: Tespit edilen herhangi bir bulgunun ID'sine (ör.SEC-001,INJ-002) göre kod düzeltme ve refactor önerisi verir.
🚀 Hızlı Başlangıç
1. Kurulum & Derleme
git clone https://github.com/EthYusuf/publish-control.git
cd publish-control
npm install
npm run build2. İstemcinize MCP Konfigürasyonunu Ekleyin
Google Antigravity
~/.gemini/config/mcp_config.json:
{
"mcpServers": {
"publish-control": {
"command": "node",
"args": ["<PATH_TO_PUBLISH_CONTROL>/dist/index.js"]
}
}
}Cursor IDE
~/.cursor/mcp.json veya .cursor/mcp.json:
{
"mcpServers": {
"publish-control": {
"command": "node",
"args": ["<PATH_TO_PUBLISH_CONTROL>/dist/index.js"]
}
}
}Claude Desktop
%APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"publish-control": {
"command": "node",
"args": ["<PATH_TO_PUBLISH_CONTROL>\\dist\\index.js"]
}
}
}🧪 Testleri Çalıştırma
npm test📄 Lisans
Bu proje MIT Lisansı altında lisanslanmıştır.
Available Tools
3 toolspublish_controlB
Projedeki tüm kodları 17 farklı güvenlik kategorisinde analiz eder. Hardcoded secrets, env güvenliği, server açıkları, SQL/NoSQL injection, authentication, dependency güvenliği, Docker, CORS, SSRF, path traversal, HTTPS/TLS, rate limiting, dosya izinleri, error handling, logging, güvenlik konfigürasyonu ve kod kalitesi kontrolleri yapar. Yayına almadan önce kapsamlı güvenlik raporu üretir.
| Name | Required | Description | Default |
|---|---|---|---|
| severity | No | Minimum severity filtresi | all |
| categories | No | Sadece belirli kategorileri çalıştır. Mevcut: secrets, env, injection, auth, server, cors, https, path, ssrf, docker, deps, rate-limit, permissions, error, logging, config, quality | |
| projectPath | Yes | Taranacak projenin kök dizini (absolute path) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It says the tool analyzes code and produces a report, but it does not state whether it is read-only, whether it modifies files, what permissions are needed, or what the report output looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded, and the category list is relevant for understanding scope. The description is somewhat verbose because it enumerates categories that also appear in the schema, but it remains focused and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
It covers the scan scope and report purpose, but with no output schema and no annotations, the definition leaves important gaps: report format, whether the scan is read-only, and how it relates to the quick and fix siblings. It is adequate but not complete for a tool with this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters are already documented in the schema. The description mentions the 17 categories and the pre-release report context, but it adds no parameter-specific semantics such as how to combine severity and categories. A baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action (analyze all code in the project), scope (17 security categories), and output (a comprehensive security report before release). It is clear what the tool does, but it does not explicitly differentiate itself from the sibling tools publish_control_quick and publish_control_fix.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies the tool should be used before publishing/deployment to get a comprehensive security report. However, it gives no explicit guidance on when to choose it over publish_control_quick or publish_control_fix, and it does not state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
publish_control_fixA
Belirli bir güvenlik bulgusu için detaylı düzeltme önerileri ve kod örnekleri üretir. Önce publish_control ile tarama yapın, ardından bulgu ID'si ile düzeltme önerisi alın.
| Name | Required | Description | Default |
|---|---|---|---|
| findingId | Yes | Düzeltilecek bulgunun ID'si (ör: SEC-001) | |
| projectPath | Yes | Proje kök dizini |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral load. It usefully discloses the prerequisite relationship and that the response contains remediation advice plus code snippets, but says nothing about whether anything is written to disk, what permissions are needed, or how large/costly the generation is.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: the capability first, the workflow second. Nothing is redundant or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter, non-mutating generator with no output schema, the description covers purpose, prerequisite and return content. The only real gap is the absence of any safety or side-effect statement, which would matter more if this tool touched files.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters carry their own descriptions (including an example ID like SEC-001). The description only restates that a finding ID is supplied, adding no semantics beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: generating detailed fix suggestions and code samples for a given security finding. The prerequisite scan tool is named, which separates it from the detection siblings, though it never explicitly contrasts itself with publish_control_quick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit ordered workflow: run publish_control first, then call this with the finding ID. That is clear when-to-use guidance, but there are no exclusions and the second sibling (publish_control_quick) is never addressed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
publish_control_quickA
Sadece CRITICAL ve HIGH seviye kontrolleri çalıştırır. Secrets, env exposure, injection ve auth gibi en kritik kontrolleri yapar. Hızlı güvenlik değerlendirmesi için kullanılır.
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Taranacak projenin kök dizini |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description must carry the behavioral load. It highly successfully communicates the limited depth of the scan—specifically targeting only CRITICAL/HIGH severities and mentioning core checks like auth and injection.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly efficient, front-loading the critical scope limitation before listing specific checks and concluding with the overall use case.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 'quick' scanning tool, the definition is contextually complete. The agent knows exactly what security coverage it can expect and when it should choose this over a full scan.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, providing a high baseline. The description does not add specific semantics to the single parameter ('projectPath'), but it successfully frames the context in which that path is evaluated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs security checks (e.g., Secrets, injection) and critically, defines its scope as running only CRITICAL and HIGH level controls, distinguishing it from a full scan.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states its intended use ('Hızlı güvenlik değerlendirmesi için kullanılır'), positioning it as a quick alternative to more comprehensive tools like publish_control.
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.
3 tool updates
v1.0.0- First observed
publish_control - First observed
publish_control_fix - First observed
publish_control_quick
TDQS
Scored across 3 tools
The three tools have distinct roles: a full 17-category scan, a critical/high-only fast scan, and a per-finding remediation helper. The only mild overlap is between publish_control and publish_control_quick, but the descriptions make the scope difference (comprehensive vs CRITICAL/HIGH only) explicit.
All tools share a single predictable prefix ('publish_control') with consistent snake_case suffixes (_quick, _fix). The base tool carries no verb, so the pattern is more 'namespace + variant' than verb_noun, but it is internally consistent and readable.
Three tools cover the realistic modes of a pre-deploy security gate: full audit, fast check, and fix guidance. It is on the lean side but each tool has a clear reason to exist rather than being redundant padding.
The scan-to-fix lifecycle is present, but there is no standalone way to list or re-query findings, filter by category or severity, export/report results, or suppress/baseline known issues. publish_control_fix also has a hard dependency on finding IDs that only appear in scan output, creating a potential dead end.
Maintenance
Related MCP Connectors
Security scanner for AI-written code: SAST, secrets, dependencies, IaC, containers and DAST.
Deep security scans of repos you own from your editor: dependency CVEs, SAST, git-history secrets.
Zero-config MCP security scanner for AI-generated apps. 25K+ vulnerability patterns.
Scan, monitor and fix a live web app from your editor: graded security reports with fix prompts.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables security scanning of codebases through integrated tools for secret detection, SCA, SAST, and DAST vulnerabilities, with AI-powered remediation suggestions based on findings.MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to scan project dependencies and Infrastructure as Code files for security vulnerabilities and misconfigurations. It also provides automated fixing capabilities to remediate identified security issues.183MIT

Cybrium MCP Serverofficial
AlicenseNot gradedqualityBmaintenanceProvides AI coding assistants with real-time security scanning superpowers, including SAST, secrets detection, dependency CVE scanning, and web vulnerability assessment.5 npmApache 2.0- AlicenseNot gradedqualityCmaintenanceEnables AI agents to scan code for security and quality issues and receive machine-readable reports with suggested fixes and verification criteria.53 npm2MIT