
Security News
Ruby's Bundler 4.0.18 Extends Cooldown to bundle lock and bundle cache
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.
ghostsecurity-mcp
Advanced tools
Minimal MCP server for Ghost Security API - compatible with all MCP clients
A Model Context Protocol (MCP) server for the Ghost Security API, providing secure access to security findings and repository data through standardized tools.
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:interactive
Option 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_ID
Option 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-mcp
Then 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"
}
}
}
}
git clone <repository-url>
cd ghost-mcp-server
npm install
npm run build
The server requires a Ghost Security API key to be provided at startup. You can provide it in two ways:
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 repo
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.
For development:
# Set environment variable first
export GHOST_SECURITY_API_KEY="your-api-key"
npm run dev
For 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"
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 chat
This server follows the standard MCP configuration format. Here are examples for different clients:
{
"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"
}
}
}
}
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"
When a repository ID is configured via GHOST_SECURITY_REPO_ID environment variable or CLI argument:
ghostsecurity_get_findings returns findings only for that repositoryghostsecurity_get_repositories returns only the configured repositoryghostsecurity_get_repository_findings uses the configured repository as default (repoId parameter becomes optional)ghostsecurity_get_findingsGet 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 IDghostsecurity_get_findingGet 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 findingghostsecurity_update_finding_statusUpdate 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 findingghostsecurity_get_repositoriesGet 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_repositoryGet a specific repository by ID.
Parameters:
id (string, required): Repository IDghostsecurity_get_repository_findingsGet security findings for a specific repository.
Parameters:
repoId (string, optional*): Repository ID (*required unless GHOST_SECURITY_REPO_ID is 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)This server is configured for publishing to the MCP Registry.
Install Publisher CLI:
brew install mcp-publisher
Login:
mcp-publisher login github
Publish:
mcp-publisher publish
The server.json file contains the necessary metadata. Ensure you have published the package to NPM before publishing to the registry.
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 chatbotsrc/
├── index.ts # Main MCP server implementation
├── ghost-client.ts # Ghost Security API client (V2)
├── types.ts # TypeScript type definitions
└── chatbot.ts # CLI Chatbot implementation
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
MIT
FAQs
Minimal MCP server for Ghost Security API - compatible with all MCP clients
We found that ghostsecurity-mcp demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.

Security News
During a UK cyber test, a Mythos 5 agent used sockpuppets, social engineering, and prompt injection to try to get a maintainer to merge malware.

Company News
Socket is now in the AWS Security Hub Extended plan. Adopt it through AWS, apply committed spend, and block malicious open source packages.