Ghost Security MCP Server
OfficialClick on "Install 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., "@Ghost Security MCP Servershow my security findings for the main repository"
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.
Ghost Security MCP Server
A Model Context Protocol (MCP) server for the Ghost Security API, providing secure access to security findings and repository data through standardized tools.
Features
Security Findings Management: Query, retrieve, and update security findings
Repository Analysis: Access repository data and associated findings
Universal MCP Compatibility: Works with any MCP-compatible client or application
Bundled CLI Chatbot: Includes a simple chatbot for quick interaction
Comprehensive API Coverage: Full support for Ghost Security API (V2) endpoints
Type Safety: Complete TypeScript implementation with proper typing
Error Handling: Robust error handling and validation
Related MCP server: CyberMCP
Installation
Quick Install for Claude Code CLI
Option 1: Interactive Installer (Easiest)
# Clone and build
git clone https://github.com/ghostsecurity/ghost-mcp-server
cd ghost-mcp-server
npm install && npm run build
# Run interactive installer (prompts for API key)
npm run install:interactiveOption 2: Automated Setup Script
# Clone and build
git clone https://github.com/ghostsecurity/ghost-mcp-server
cd ghost-mcp-server
npm install && npm run build
# Run setup script with your API key
./setup-claude-code.sh YOUR_API_KEY
# Optional: Scope to a specific repository
./setup-claude-code.sh YOUR_API_KEY YOUR_REPO_IDOption 3: Manual Setup
# Clone and build
git clone https://github.com/ghostsecurity/ghost-mcp-server
cd ghost-mcp-server
npm install && npm run build
# Add to Claude Code
claude mcp add --transport stdio --scope user ghost-security -- node $(pwd)/dist/index.js
# Then edit ~/.claude.json and add under mcpServers.ghost-security.env:
# {
# "GHOST_SECURITY_API_KEY": "your-api-key",
# "GHOST_SECURITY_BASE_URL": "https://api.ghostsecurity.ai/v2"
# }Option 4: From npm (Coming Soon)
Once published to npm, installation will be even simpler:
claude mcp add --transport stdio --scope user ghost-security -- npx ghostsecurity-mcpThen add your API key to ~/.claude.json:
{
"mcpServers": {
"ghost-security": {
"env": {
"GHOST_SECURITY_API_KEY": "your-api-key-here",
"GHOST_SECURITY_BASE_URL": "https://api.ghostsecurity.ai/v2"
}
}
}
}Standard Installation (All MCP Clients)
Clone this repository:
git clone <repository-url>
cd ghost-mcp-serverInstall dependencies:
npm installBuild the project:
npm run buildUsage
Configuration
The server requires a Ghost Security API key to be provided at startup. You can provide it in two ways:
Option 1: Environment Variable (Recommended)
export GHOST_SECURITY_API_KEY="your-ghost-security-api-key"
export GHOST_SECURITY_BASE_URL="https://api.ghostsecurity.ai/v2" # optional, defaults to v2
export GHOST_SECURITY_REPO_ID="your-repository-id" # optional - scope to specific repoOption 2: Command Line Argument
node dist/index.js "your-ghost-security-api-key" "your-repository-id"Note: Repository ID is optional. If provided, all operations will be scoped to that repository.
Running the Server
For development:
# Set environment variable first
export GHOST_SECURITY_API_KEY="your-api-key"
npm run devFor production:
# Either with environment variable
export GHOST_SECURITY_API_KEY="your-api-key"
npm start
# Or with command line argument
npm run build
node dist/index.js "your-api-key"CLI Chatbot
This project includes a simple CLI chatbot powered by Anthropic's Claude API that can interact with the MCP server.
export ANTHROPIC_API_KEY="your-anthropic-api-key"
export GHOST_SECURITY_API_KEY="your-ghost-api-key"
npm run chatAdding to Any MCP Client
This server follows the standard MCP configuration format. Here are examples for different clients:
Standard MCP Configuration (Claude Desktop, ChatGPT, etc.)
{
"mcpServers": {
"ghostsecurity": {
"command": "node",
"args": ["/path/to/ghost-mcp-server/dist/index.js"],
"env": {
"GHOST_SECURITY_API_KEY": "your-ghost-security-api-key",
"GHOST_SECURITY_REPO_ID": "your-repository-id"
}
}
}
}Environment Variable Setup (Universal)
For any MCP client that supports environment variables:
export GHOST_SECURITY_API_KEY="your-ghost-security-api-key"
export GHOST_SECURITY_BASE_URL="https://api.ghostsecurity.ai/v2"
export GHOST_SECURITY_REPO_ID="your-repository-id"Repository Scoping
When a repository ID is configured via GHOST_SECURITY_REPO_ID environment variable or CLI argument:
ghostsecurity_get_findingsreturns findings only for that repositoryghostsecurity_get_repositoriesreturns only the configured repositoryghostsecurity_get_repository_findingsuses the configured repository as default (repoId parameter becomes optional)
Available Tools
Security Findings
ghostsecurity_get_findings
Get security findings with optional filtering and pagination.
Parameters:
cursor(string, optional): Pagination cursorsort(string, optional): Sort field (created_at,updated_at)order(string, optional): Sort order (asc,desc)size(number, optional): Page size (1-1000)status(string, optional): Filter by statusrepo_id(string, optional): Filter by repository IDproject_id(string, optional): Filter by project ID
ghostsecurity_get_finding
Get a specific security finding by ID.
Parameters:
id(string, required): Finding IDrepoId(string, required): Repository ID associated with the findingprojectId(string, required): Project ID associated with the finding
ghostsecurity_update_finding_status
Update the status of a security finding.
Parameters:
id(string, required): Finding IDrepoId(string, required): Repository ID associated with the findingprojectId(string, required): Project ID associated with the findingstatus(string, required): New status for the finding
Repositories
ghostsecurity_get_repositories
Get repositories with optional filtering and pagination.
Parameters:
cursor(string, optional): Pagination cursorsort(string, optional): Sort field (created_at,updated_at,last_committed_at)order(string, optional): Sort order (asc,desc)size(number, optional): Page size (1-1000)
ghostsecurity_get_repository
Get a specific repository by ID.
Parameters:
id(string, required): Repository ID
ghostsecurity_get_repository_findings
Get security findings for a specific repository.
Parameters:
repoId(string, optional*): Repository ID (*required unlessGHOST_SECURITY_REPO_IDis configured)cursor(string, optional): Pagination cursorsort(string, optional): Sort field (created_at,updated_at)order(string, optional): Sort order (asc,desc)size(number, optional): Page size (1-1000)
Publishing to MCP Registry
This server is configured for publishing to the MCP Registry.
Install Publisher CLI:
brew install mcp-publisherLogin:
mcp-publisher login githubPublish:
mcp-publisher publish
The server.json file contains the necessary metadata. Ensure you have published the package to NPM before publishing to the registry.
Development
Scripts
npm run dev: Run in development mode with hot reloadnpm run build: Build TypeScript to JavaScriptnpm start: Run the built servernpm run chat: Run the CLI chatbot
Project Structure
src/
├── index.ts # Main MCP server implementation
├── ghost-client.ts # Ghost Security API client (V2)
├── types.ts # TypeScript type definitions
└── chatbot.ts # CLI Chatbot implementationAPI Reference
This MCP server provides a complete interface to the Ghost Security API V2. For detailed API documentation, visit: https://docs.ghostsecurity.ai/api-reference/introduction
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ghostsecurity/ghost-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server