SkillAgentSearch skills...

open-seo

Open source alternative to Semrush and Ahrefs

Install / Use

claude mcp add every-app -- npx -y github:every-app/open-seo

If the server publishes to npm under a different name, use that package instead — check the repo README.

About this skill
🔌

MCP Server

Model Context Protocol server

Quality Score

53/100

Category

Marketing

Supported Platforms

Claude Code
Claude Desktop

Tags

{ "name": "open-seo", "private": true, "sideEffects": false, "version": "0.1.6", "type": "module", "packageManager": "pnpm@10.30.1", "scripts": { "dev": "vite dev", "dev:clear-chat": "rm -rf .wrangler/state/v3/do/open-seo-OnboardingChatAgent", "dev:agents": "mkdir -p .logs && portless run vite dev 2>&1 | tee .logs/dev-server.log", "dev:agents:force": "mkdir -p .logs && portless --force run vite dev 2>&1 | tee .logs/dev-server.log", "build": "vite build && tsc --noEmit", "lint": "oxlint . --type-aware", "lint:fix": "oxlint . --type-aware --fix", "preview": "npm run build && vite preview --port 3001", "deploy": "npm run db:migrate:prod && npm run build && wrangler deploy", "deploy:selfhost": "node scripts/selfhost-deploy-preflight.mjs && vite build --mode selfhost && tsc --noEmit && pnpm alchemy deploy --env-file .env.selfhost --stage selfhost", "deploy:postgres": "npm run db:migrate:pg && npm run build && pnpm alchemy deploy --env-file .env.production --stage hosted-prod --adopt", "deploy:preview": "vite build --mode preview && pnpm alchemy deploy --env-file .env.preview", "preview:access": "pnpm alchemy deploy alchemy.preview-access.run.ts --env-file .env.preview --stage preview-access --adopt", "alchemy": "NODE_OPTIONS="$NODE_OPTIONS --experimental-strip-types" alchemy", "destroy:preview": "pnpm alchemy destroy --env-file .env.preview", "sourcemaps:upload": "POSTHOG_SOURCEMAPS=true NODE_OPTIONS=--max-old-space-size=8192 npm run build && pnpm dlx @posthog/cli sourcemap inject --directory ./dist-sourcemaps && pnpm dlx @posthog/cli sourcemap upload --directory ./dist-sourcemaps", "cf-typegen": "wrangler types", "types:check": "tsc --noEmit", "format:check": "prettier --check .", "format:write": "prettier . --write", "auth:generate": "npm run auth:generate:d1 && npm run auth:generate:pg", "auth:generate:d1": "pnpm dlx auth@latest generate --config ./cli-auth.ts --adapter drizzle --dialect sqlite --output ./src/db/better-auth-schema.ts && prettier --write ./src/db/better-auth-schema.ts", "auth:generate:pg": "pnpm dlx auth@latest generate --config ./cli-auth.ts --adapter drizzle --dialect pg --output ./src/db/pg/better-auth-schema.ts && prettier --write ./src/db/pg/better-auth-schema.ts", "db:generate": "npm run db:generate:d1 && npm run db:generate:pg", "db:generate:d1": "drizzle-kit generate", "db:generate:pg": "drizzle-kit generate --config drizzle-pg.config.ts", "db:migrate:local": "wrangler d1 migrations apply DB --local", "db:migrate:prod": "wrangler d1 migrations apply DB --remote", "db:migrate:pg": "drizzle-kit migrate --config drizzle-pg.config.ts", "knip": "knip", "release:notes": "node scripts/release-notes.mjs", "release:publish": "node scripts/publish-release.mjs", "sync-plugin-skills": "node scripts/sync-plugin-skills.mjs", "test": "vitest run", "test:watch": "vitest", "test:ci": "vitest run --reporter=dot", "test:e2e": "playwright test", "test:e2e:domain": "playwright test e2e/domain-overview-filters.spec.ts", "test:e2e:domain:perf": "playwright test e2e/domain-overview-filters.perf.spec.ts", "test:e2e:keywords": "playwright test e2e/keyword-research-navigation.spec.ts", "billing:backlinks": "tsx scripts/backlinks-cost-profile.ts", "billing:brand-lookup": "tsx scripts/brand-lookup-cost-profile.ts", "billing:usage": "tsx scripts/dataforseo-account-usage.ts", "cleanup:default-projects:d1": "tsx scripts/d1-default-project-cleanup.ts", "gdpr:erase-user": "tsx scripts/erase-user-data.ts", "seed:rank-tracking": "tsx scripts/seed-rank-tracking.ts", "seed:projects": "tsx scripts/seed-projects.ts", "ci:check": "prettier --check . && knip && tsc --noEmit && tsc --noEmit -p badseo/tsconfig.json && oxlint . --type-aware && pnpm sync-plugin-skills && test -z "$(git status --porcelain -- plugins/openseo/skills)"" }, "cloudflare": { "bindings": { "AUTH_MODE": { "description": "Set to cloudflare_access for secured deployments behind Cloudflare Access, or local_noauth for trusted local self-host mode only." }, "TEAM_DOMAIN": { "description": "Cloudflare Access team domain (for example https://your-team.cloudflareaccess.com) used to validate cf-access-jwt-assertion JWTs." }, "POLICY_AUD": { "description": "Cloudflare Access Application Audience (AUD) tag for this Worker route/domain." }, "DATAFORSEO_API_KEY": { "description": "Base64-encoded login:password for DataForSEO API access." }, "OAUTH_KV": { "description": "KV namespace used by the Cloudflare Workers OAuth provider for MCP client registrations, grants, and tokens." } } }, "dependencies": { "@ai-sdk/react": "^3.0.211", "@better-auth/api-key": "1.6.22", "@cloudflare/ai-chat": "^0.10.1", "@cloudflare/think": "0.15.1", "@cloudflare/workers-oauth-provider": "^0.10.2", "@every-app/sdk": "^0.1.14", "@modelcontextprotocol/client": "2.0.0", "@modelcontextprotocol/sdk": "1.30.0", "@modelcontextprotocol/server": "2.0.0", "@openrouter/ai-sdk-provider": "^2.9.0", "@tanstack/query-core": "^5.101.2", "@tanstack/react-form": "^1.33.0", "@tanstack/react-query": "^5.101.2", "@tanstack/react-router": "^1.170.16", "@tanstack/react-router-devtools": "^1.167.0", "@tanstack/react-start": "^1.168.26", "@tanstack/react-table": "^8.21.3", "agents": "0.20.1", "ai": "^6.0.199", "autumn-js": "^1.2.33", "better-auth": "^1.6.22", "cloudflare": "^5.2.0", "daisyui": "^5.5.5", "dataforseo-client": "^2.0.19", "drizzle-orm": "^0.45.2", "fast-xml-parser": "^5.4.1", "htmlparser2": "^10.1.0", "jose": "^6.0.12", "lucide-react": "^0.542.0", "papaparse": "^5.5.3", "postgres": "^3.4.9", "posthog-js": "^1.395.0", "posthog-node": "^5.38.6", "react": "^19.0.0", "react-dom": "^19.0.0", "react-markdown": "^10.1.0", "recharts": "^3.7.0", "remark-gfm": "^4.0.1", "remeda": "^2.33.6", "robots-parser": "^3.0.1", "sonner": "^2.0.7", "tailwindcss": "^4.1.16", "tldts": "^7.0.25", "yaml": "^2.9.0", "zod": "^4.1.12" }, "devDependencies": { "@cloudflare/vite-plugin": "^1.42.3", "@cloudflare/workers-types": "^4.20260702.1", "@distilled.cloud/cloudflare": "0.28.2", "@effect/platform-node": "4.0.0-beta.93", "@libsql/client": "^0.15.15", "@playwright/test": "^1.59.1", "@tailwindcss/vite": "^4.1.11", "@tanstack/devtools-vite": "^0.6.1", "@tanstack/react-devtools": "^0.10.8", "@types/node": "^22.18.13", "@types/papaparse": "^5.5.2", "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.6.0", "alchemy": "2.0.0-beta.61", "chalk": "^5.6.2", "cheerio": "^1.2.0", "drizzle-kit": "^0.31.10", "effect": "4.0.0-beta.93", "knip": "^5.88.1", "oxlint": "^1.50.0", "oxlint-tsgolint": "^0.15.0", "portless": "^0.5.2", "prettier": "^3.6.2", "tsx": "^4.22.4", "typescript": "^5.9.3", "vite": "^7.3.6", "vite-tsconfig-paths": "^5.1.4", "vitest": "^3.2.6", "wrangler": "^4.105.0" } }

Related Skills

View on GitHub
GitHub Stars0
CategoryMarketing
UpdatedNaNy ago
Forks0

Security Score

68/100

Audited on Invalid Date

2 medium1 low