Sign In

@devopsagent/mcp-server

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@devopsagent/mcp-server - npm Package Compare versions

Comparing version
1.0.1
to
1.0.2
+85
bin/server.js
#!/usr/bin/env node
'use strict';
const MCP_URL = process.env.DEVOPSAGENT_MCP_URL || 'https://devopsagent.io/mcp/';
const API_KEY = process.env.DEVOPSAGENT_API_KEY || '';
if (!API_KEY) {
process.stderr.write(
'[devops-agent] ERROR: DEVOPSAGENT_API_KEY is not set.\n' +
'[devops-agent] Get your key at https://devopsagent.io/api-gateway/keys\n' +
'[devops-agent] Add to Claude Desktop config: "env": { "DEVOPSAGENT_API_KEY": "doa_live_..." }\n'
);
process.exit(1);
}
let sessionId = null;
async function sendToRemote(message) {
const headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': `Bearer ${API_KEY}`,
};
if (sessionId) headers['Mcp-Session-Id'] = sessionId;
const res = await fetch(MCP_URL, {
method: 'POST',
headers,
body: JSON.stringify(message),
});
const newSid = res.headers.get('Mcp-Session-Id');
if (newSid && !sessionId) sessionId = newSid;
if (res.status === 202) return null;
const text = await res.text();
if (!text.trim()) return null;
try {
return JSON.parse(text);
} catch {
process.stderr.write(`[devops-agent] Non-JSON (${res.status}): ${text.slice(0, 200)}\n`);
return null;
}
}
let buffer = '';
process.stdin.setEncoding('utf8');
process.stdin.on('data', async (chunk) => {
buffer += chunk;
const lines = buffer.split('\n');
buffer = lines.pop();
for (const line of lines) {
const trimmed = line.trim();
if (!trimmed) continue;
let message;
try {
message = JSON.parse(trimmed);
} catch {
process.stderr.write(`[devops-agent] JSON parse error: ${trimmed.slice(0, 100)}\n`);
continue;
}
try {
const response = await sendToRemote(message);
if (response !== null) process.stdout.write(JSON.stringify(response) + '\n');
} catch (err) {
process.stderr.write(`[devops-agent] HTTP error: ${err.message}\n`);
if (message.id !== undefined && message.id !== null) {
process.stdout.write(JSON.stringify({
jsonrpc: '2.0', id: message.id,
error: { code: -32603, message: `Bridge error: ${err.message}` },
}) + '\n');
}
}
}
});
process.stdin.on('end', () => process.exit(0));
process.on('SIGINT', () => process.exit(0));
process.on('SIGTERM', () => process.exit(0));
# Changelog
All notable changes to `@devopsagent/mcp-server` are documented here.
## [1.0.2] - 2026-04-07
### Added
- `bin/server.js` — Node.js stdio bridge; `npx @devopsagent/mcp-server` now works
- `bin` entry in `package.json` (`devopsagent-mcp` command)
- `files` field in `package.json` to control published package contents
- `CHANGELOG.md`
- `devopsagent_health` built-in tool on the Python server (no credentials required)
- Expanded `keywords` in `package.json` for better npm discoverability
### Changed
- README rewritten: npx quickstart is now the primary connection method
- Server version bumped to `1.0.2` in both `server.json` and Python server
- Tool execution errors now returned as MCP `isError: true` content instead of JSON-RPC error objects (better client compatibility)
## [1.0.1] - 2026-04-05
### Changed
- `server.json` schema updated to `2025-10-17`
- Added `mcpName` field (`io.github.shittuay/devops-agent`) for MCP registry
## [1.0.0] - 2026-04-04
### Added
- Initial publish to npm
- MCP registry manifest (`server.json`)
- Streamable HTTP transport (`POST /mcp/`)
- HTTP+SSE transport (`GET /mcp/sse`)
- OAuth 2.0 authorization flow for Claude.ai connectors
- 401 tools across 13 modules (AWS, Kubernetes, Azure, GCP, CI/CD, Docker, Terraform, Ansible, Monitoring, Alerting, SonarQube, Nexus, Git)
+16
-5
{
"name": "@devopsagent/mcp-server",
"mcpName": "io.github.shittuay/devops-agent",
"version": "1.0.1",
"version": "1.0.2",
"description": "MCP server for DevOps Agent — manage AWS, Azure, GCP, Kubernetes, Terraform, CI/CD, and more from any MCP-compatible AI client. 401 tools across 13 modules.",
"keywords": ["mcp", "devops", "aws", "kubernetes", "azure", "gcp", "terraform", "cloud", "infrastructure"],
"keywords": [
"mcp", "mcp-server", "devops", "aws", "kubernetes", "azure",
"gcp", "terraform", "cloud", "infrastructure", "claude",
"anthropic", "automation", "model-context-protocol"
],
"homepage": "https://devopsagent.io",

@@ -13,5 +17,12 @@ "repository": {

"license": "MIT",
"engines": {
"node": ">=18"
}
"engines": { "node": ">=18" },
"bin": {
"devopsagent-mcp": "./bin/server.js"
},
"files": [
"bin/",
"server.json",
"README.md",
"CHANGELOG.md"
]
}
+60
-30
# DevOps Agent MCP Server
Manage AWS, Azure, GCP, Kubernetes, Terraform, CI/CD, Docker, Ansible, and more from any MCP-compatible AI client. **401+ tools across 13 modules** — all accessible via a single connection.
Manage AWS, Azure, GCP, Kubernetes, Terraform, CI/CD, Docker, Ansible, and more from any MCP-compatible AI client. **401 tools across 13 modules** — all accessible via a single connection.
## What you can do
## Quickstart (Claude Desktop — recommended)
- **AWS** — EC2, S3, RDS, Lambda, ECS, EKS, IAM, VPC, CloudWatch, and 100+ more operations
- **Azure** — VMs, Storage, SQL, NSGs, Container Instances, VNets
- **GCP** — Compute, GCS, Cloud SQL, GKE, Cloud Run, Pub/Sub, BigQuery
- **Kubernetes** — Pods, Deployments, Services, Namespaces, Ingress, Jobs, RBAC
- **Terraform** — init, plan, apply, destroy, state, workspaces, import
- **CI/CD** — Jenkins (11 tools) + GitHub Actions (10 tools)
- **Docker** — containers, images, volumes, networks, compose, build, push
- **Ansible** — playbooks, ad-hoc, inventory, vault, galaxy
- **Monitoring** — Prometheus, Datadog, Grafana
- **Alerting** — PagerDuty + OpsGenie
- **SonarQube** — projects, quality gates, issues, analysis
- **Nexus** — repositories, components, assets
**Step 1:** Get your API key at [devopsagent.io/api-gateway/keys](https://devopsagent.io/api-gateway/keys)
## Connect via Claude.ai
**Step 2:** Add to your `claude_desktop_config.json`:
1. Go to **Claude.ai → Settings → Connectors → Add custom connector**
2. Fill in:
```json
{
"mcpServers": {
"devops-agent": {
"command": "npx",
"args": ["-y", "@devopsagent/mcp-server"],
"env": { "DEVOPSAGENT_API_KEY": "doa_live_your_key_here" }
}
}
}
```
| Field | Value |
|-------|-------|
| Name | `DevOps Agent` |
| Remote MCP server URL | `https://devopsagent.io/mcp` |
| OAuth Client ID | `claude-connector` |
| OAuth Client Secret | `devopsagent-mcp-secret-2026` |
Restart Claude Desktop — all 401 tools appear automatically.
3. Click **Add** — sign in with your DevOps Agent account to authorize.
> **Requires Node.js 18+.** The `npx` command downloads and runs the bridge automatically on first use.
## Connect via Claude Desktop
## Alternative: direct SSE (no Node.js required)
Generate an API key at [devopsagent.io/api-gateway/keys](https://devopsagent.io/api-gateway/keys), then add to your `claude_desktop_config.json`:
If you prefer not to use Node.js, connect directly via SSE:

@@ -51,4 +44,41 @@ ```json

Restart Claude Desktop — all tools appear automatically.
## Connect via Claude.ai (OAuth)
1. Go to **Claude.ai → Settings → Connectors → Add custom connector**
2. Fill in:
| Field | Value |
|-------|-------|
| Name | `DevOps Agent` |
| Remote MCP server URL | `https://devopsagent.io/mcp` |
| OAuth Client ID | `claude-connector` |
| OAuth Client Secret | `devopsagent-mcp-secret-2026` |
3. Click **Add** — sign in with your DevOps Agent account to authorize.
## Tools
| Module | Count | What you can do |
|--------|-------|-----------------|
| AWS | 155 | EC2, S3, RDS, Lambda, ECS, EKS, IAM, VPC, CloudWatch, DynamoDB, and more |
| Kubernetes | 28 | Pods, Deployments, Services, Namespaces, Ingress, Jobs, Nodes |
| Azure | 36 | VMs, Storage, SQL, NSGs, Container Instances, VNets, Public IPs |
| GCP | 40 | Compute, GCS, Cloud SQL, GKE, Cloud Run, Pub/Sub, BigQuery, Functions |
| CI/CD | 21 | Jenkins (11) + GitHub Actions (10) |
| Docker | 22 | Containers, images, volumes, networks, compose, build, push |
| Terraform | 16 | init, plan, apply, destroy, state, workspaces, import |
| Ansible | 13 | Playbooks, ad-hoc, inventory, vault, galaxy |
| Monitoring | 12 | Prometheus, Datadog, Grafana |
| Alerting | 16 | PagerDuty + OpsGenie |
| SonarQube | 12 | Projects, quality gates, issues, analysis |
| Nexus | 12 | Repositories, components, assets |
| Git | 6 | Status, branches, commits, diff, PRs |
## Environment variables
| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| `DEVOPSAGENT_API_KEY` | Yes | — | API key from devopsagent.io/api-gateway/keys |
| `DEVOPSAGENT_MCP_URL` | No | `https://devopsagent.io/mcp/` | Override MCP endpoint (for self-hosted instances) |
## Server details

@@ -59,4 +89,4 @@

| MCP Protocol | `2025-03-26` |
| Transport | Streamable HTTP (`POST /mcp`) + HTTP+SSE (`GET /mcp/sse`) |
| Auth | OAuth 2.0 (Claude.ai) or API Key (Claude Desktop) |
| Transports | Streamable HTTP (`POST /mcp`) + HTTP+SSE (`GET /mcp/sse`) + stdio (via `npx`) |
| Auth | OAuth 2.0 (Claude.ai) or API Key (Claude Desktop / npx) |
| Registry | `io.github.shittuay/devops-agent` |

@@ -68,4 +98,4 @@ | Health check | `GET https://devopsagent.io/mcp/health` |

- **Website:** [devopsagent.io](https://devopsagent.io)
- **Documentation:** [devopsagent.io/docs#mcp-server](https://devopsagent.io/docs#mcp-server)
- **API Keys:** [devopsagent.io/api-gateway/keys](https://devopsagent.io/api-gateway/keys)
- **GitHub:** [github.com/shittuay/DevOps-Agent](https://github.com/shittuay/DevOps-Agent)
- **npm:** [@devopsagent/mcp-server](https://www.npmjs.com/package/@devopsagent/mcp-server)
{
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-10-17/server.schema.json",
"name": "io.github.shittuay/devops-agent",
"version": "1.0.0",
"version": "1.0.2",
"title": "DevOps Agent",

@@ -14,2 +14,6 @@ "description": "Manage AWS, Azure, GCP, Kubernetes, CI/CD, Docker, Terraform and more. 401 tools.",

{
"url": "https://devopsagent.io/mcp/",
"type": "http"
},
{
"url": "https://devopsagent.io/mcp/sse",

@@ -16,0 +20,0 @@ "type": "sse"