PostHog MCP Server
Official PostHog MCP Server for product analytics, feature flags, experiments, and more.
Find LinkedIn prospects, draft outreach, and run human-paced campaigns from your AI agent.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
검사 5/5 통과 · 내가 묻는 내용은 제작자 서버(omentir.com)를 거쳐요 · ✓ 명령 확인 2026년 11월 13일
먼저: 어떤 AI를 쓰시나요?
쓰는 앱을 고르면 아래에 단계가 나옵니다.
Claude에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음 · claude.ai나 데스크톱 앱에서 한 번 설정하면 채팅에서 쓸 수 있어요 · 무료 계정은 1개까지 · Team/Enterprise는 소유자(Owner)가 추가
CustomizeConnectors
여기서 복사해 Claude의 같은 이름 칸에 붙여 넣고 Continue를 누르세요
Omentirhttps://omentir.com/api/agent/v1/mcpClaude가 찾은 로그인 설정 화면에서 Continue를 누르고 · Authentication은 제작자 안내대로(Sign in now, Sign in when needed, No sign in) 고른 뒤 Add를 누르세요
+ConnectorsOmentir
Omentir을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude가 Omentir을 쓰고 있다고 하거나 답에 Omentir 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
ChatGPT 연결은 요금제에 따라 달라요
전체 MCP: 웹 ChatGPT Business, Enterprise, Edu · Pro: 읽기/가져오기 권한으로 연결, 데이터를 바꾸는 도구는 안 될 수 있어요 · Plus: 공식 문서 미확인, 플러그인 화면에 사용자 지정 MCP 추가 항목이 보이면 시도해 볼 수 있어요 · 웹만
Plugins+Add custom MCP server
이름을 넣고 Connection에 주소를 붙여 넣은 뒤 경고에 체크하고 Create as a plugin을 누르세요
Omentirhttps://omentir.com/api/agent/v1/mcp새 채팅을 열고 입력 전에 플러그인 목록에서 Omentir을 고르세요
Omentir을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ ChatGPT가 Omentir을 쓰고 있다고 하거나 답에 Omentir 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 OpenAI 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Claude Code에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
Mac: Command+스페이스를 누르고 Terminal 입력 · Windows: PowerShell 열기
claude mcp add --transport http --scope user omentir https://omentir.com/api/agent/v1/mcpOmentir이 목록에 있고 연결됨으로 보이면 돼요
Omentir을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude Code가 Omentir을 쓰고 있다고 하거나 답에 Omentir 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Cursor에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
Omentir을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Cursor가 Omentir을 쓰고 있다고 하거나 답에 Omentir 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Cursor 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
VS Code에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
Omentir을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ VS Code가 Omentir을 쓰고 있다고 하거나 답에 Omentir 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 VS Code 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Windsurf, Zed, Gemini CLI 같은 다른 MCP 앱은 추가 방법이 저마다 달라요. 앱 목록에서 확인하세요
웹으로 연결하는 앱용 주소
https://omentir.com/api/agent/v1/mcpJSON 설정은 아래 “개발자용”에 있어요
Claude Code
claude mcp add --transport http --scope user omentir https://omentir.com/api/agent/v1/mcpCursor (~/.cursor/mcp.json)
{
"mcpServers": {
"omentir": {
"url": "https://omentir.com/api/agent/v1/mcp"
}
}
}VS Code (mcp.json)
{
"servers": {
"omentir": {
"type": "http",
"url": "https://omentir.com/api/agent/v1/mcp"
}
}
}이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
이 서버의 연결 방식과 각 앱의 공식 문서를 바탕으로 했어요. 2026년 11월 10일 확인.
인터넷으로 연결하는 앱
ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
서버가 도구 목록을 보여 주기 전에 로그인을 요구해요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 13일 점검
레지스트리 이름이 GitHub 계정 vanshyadav1408 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
코드 마지막 변경: 7일 전
MIT 사용
708ms 만에 응답(HTTP 401)
OAuth 로그인을 지원한다고 밝혀서, AI 앱이 로그인 화면으로 안내해 줘요
아직 점검하지 않았어요. 엔드포인트를 점검할 때 도구 목록을 읽어요
질문하고, 팁을 나누고, 안 되는 점을 알려 주세요. "도움이 됨"이 많은 순서예요.
아직 리뷰가 없어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 5개 중 5개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.
GitHub 저장소는 마지막으로 7일 전 변경됐고, 최신 버전(1.1.0)은 2개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되므로 원격 MCP를 받는 앱에서도 쓸 수 있어요. 예: 웹 ChatGPT(Business 이상은 전체 MCP, Pro는 읽기 전용).
같은 카테고리에는: PostHog MCP Server, Openshorts, Google Ads + Meta Ads + SEO/GEO MCP
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Official PostHog MCP Server for product analytics, feature flags, experiments, and more.
Turn long videos into viral vertical shorts and publish them to TikTok, Instagram and YouTube.
Google Ads, Meta Ads, Google Analytics (GA4) & Search Console MCP server by Ryze AI
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
Omentir is an open-source alternative to LinkedIn outreach and automation tools like HeyReach and Gojiberry.
It's an AI sales workspace for finding qualified LinkedIn prospects, drafting contextual outreach, running human-paced campaigns, and handling replies — but you own the code and run it on your own infrastructure.
Use the managed product at omentir.com, or self-host the same application code with your own Firebase, Gemini, and Unipile accounts.
One codebase: hosted cloud and self-host share this repo. RUN_LOCALLY=TRUE switches auth, billing, marketing, and hosted-only mail off. Public brand contacts for omentir.com stay in source on purpose (see src/lib/hosted-identity.ts); they are not used for self-hosted operation.
People use Omentir from chat and coding agents without sharing LinkedIn passwords:
https://omentir.com/api/agent/v1/mcp → sign in and approve Connect workspace → enable tools in the chat. No API key.Authorization: Bearer to the MCP endpoint or REST /api/agent/v1/*.mode: steal_customers + competitor company URLs). If you have more than one company, ask it to list workspaces and switch.Docs: MCP integration, Agent API, agents.md (machine guide), OpenAPI.
Omentir is self-hostable with external managed services. It is not offline or dependency-free. You provide Firebase/Firestore, Unipile, and either a Gemini API key or a Google Cloud Vertex AI project.
Self-hosting removes the Omentir subscription, but Firebase/Google AI and Unipile can still cost money.
Install Git and either Docker with Docker Compose, or Bun 1.3. Then clone and configure the project:
git clone https://github.com/vanshyadav1408/Omentir.git
cd Omentir cp .env.example .env
Open .env and fill in every uncommented blank value. Complete the provider setup below before starting the server.
Generate independent secrets with:
openssl rand -base64 48
Use that (or a password manager) for at least:
LOCAL_SESSION_SECRET (required)LOCAL_APP_PASSWORD (required unless you explicitly allow open access — see Access control)CRON_SECRET (required unless automation is fully disabled)UNIPILE_WEBHOOK_SECRET (required for reply and relation webhooks)For an initial setup with all automation disabled, leave CRON_SECRET blank and set AUTOMATION_DISABLED=true instead. Keep ENABLE_LIVE_AUTOMATION=false until dry-run output has been reviewed.
Docker is the supported self-hosting path. Omentir runs on amd64 and arm64.
docker compose up --build -d
docker compose logs -f omentir
Open http://localhost:3000. Press Ctrl+C to exit the log view without stopping Omentir. Stop the server later with docker compose down.
Port binding: Compose publishes the app as 127.0.0.1:3000:3000 only. That means the container is reachable from the same machine (http://localhost:3000), not from other devices on your LAN or the public internet. This is intentional: a misconfigured or passwordless instance must not become reachable just because Docker started.
To expose the app on a real host (LAN/VPS):
127.0.0.1:3000 (or change the Compose bind only if you understand the risk).APP_BASE_URL to the exact public HTTPS origin (no trailing slash).LOCAL_APP_PASSWORD (do not enable open access on a public URL).For local development:
bun install
bun run dev
For a production-style local server:
bun install
bun run build bun start
Open http://localhost:3000. Sign in with LOCAL_APP_PASSWORD unless you opted into open access (see below).
Bun is the package manager and script runner, but bun run dev deliberately starts Next on Node rather than under bun --bun. In dev, Turbopack loads every package in serverExternalPackages (firebase-admin among them) through a hashed specifier such as firebase-admin- /firestore, which only resolves via a loader hook Next installs in Node. Bun's resolver does not run that hook, so bun --bun next dev fails on the first Firestore import with ResolveMessage: Cannot find module. Production is unaffected: built output emits plain requires, so build and start still run under Bun.
Self-host mode uses a single workspace and a signed, HTTP-only session cookie (omentir_local_session), not Clerk.
| Setting | Behavior |
|---|---|
LOCAL_APP_PASSWORD set (12+ characters, high entropy) | Login form requires that password. This is the default expectation. |
LOCAL_APP_PASSWORD blank and LOCAL_ALLOW_OPEN_ACCESS unset/false | Startup fails. Blank password is no longer enough to run an unprotected instance. |
LOCAL_ALLOW_OPEN_ACCESS=true and blank password | Explicit opt-in: welcome screen with a “Continue to overview” button (no password). Use only on a trusted machine / private network. |
LOCAL_ALLOW_OPEN_ACCESS=true and password set | Password is still required (open-access flag does not weaken a configured password). |
LOCAL_SESSION_SECRET | Required always. Minimum 32 characters, high entropy. Used to HMAC-sign session tokens. Changing it invalidates all existing sessions. |
Additional login hardening that matters for operators:
POST /api/local-auth/login only accepts requests whose Origin matches APP_BASE_URL.?next= return path is sanitized so values like //evil.com cannot open-redirect the browser after sign-in. Only same-origin relative paths (starting with a single /) are allowed.HttpOnly, SameSite=Lax, and Secure when APP_BASE_URL is HTTPS.firebase deploy --only firestore:indexes, or create the indexes from Firestore error links. The source is firestore.indexes.json.firebase deploy --only firestore:rules. Omentir reaches Firestore only through the server-side Admin SDK, so the shipped firestore.rules denies all direct browser/client access. Keep it deployed — it stops anyone from reading or writing your data with a leaked project ID or web API key.GOOGLE_CLOUD_PROJECT, GOOGLE_CLOUD_LOCATION, and GOOGLE_APPLICATION_CREDENTIALS_JSON, enable Vertex AI, and grant the service account Vertex AI User.Copy .env.example to .env. Required local settings are validated at server startup:
| Variable | Scope | Secret | Runtime behavior |
|---|---|---|---|
RUN_LOCALLY=TRUE | local | no | Selects built-in single-workspace authentication |
APP_BASE_URL | shared | no | Canonical server URL; HTTPS required off localhost |
LOCAL_APP_PASSWORD | local | yes* | Required access password unless open access is explicitly allowed; minimum 12 characters when set |
LOCAL_ALLOW_OPEN_ACCESS | local | no | Must be exactly true to allow a passwordless welcome screen |
LOCAL_SESSION_SECRET | local | yes | Independent random value, minimum 32 characters |
LOCAL_USER_NAME / LOCAL_USER_EMAIL | local | no | Display identity for the single local workspace |
FIREBASE_PROJECT_ID | shared | no | Dedicated Firebase project |
FIREBASE_SERVICE_ACCOUNT_KEY | shared | yes | Service-account JSON; malformed JSON fails startup |
UNIPILE_DSN / UNIPILE_API_KEY | shared | mixed | Unipile endpoint and credential |
UNIPILE_WEBHOOK_SECRET | shared | yes | Authenticates reply and relation webhooks |
GEMINI_API_KEY | local/simple | yes | Gemini Developer API path |
| Vertex variables | shared/advanced | yes | Alternative to GEMINI_API_KEY |
CRON_SECRET | shared | yes | Required unless automation is disabled; used by the built-in scheduler and job routes |
ENABLE_LIVE_AUTOMATION | local | no | Live sends remain off unless exactly true |
AUTOMATION_DISABLED | shared | no | Emergency stop; skips scheduler and job execution |
RESEND_API_KEY / RESEND_FROM_EMAIL | optional | yes/mixed | Transactional notifications only in local mode |
ALLOWED_DEV_ORIGINS | dev only | no | Extra hostnames for Next.js HMR when using tunnels/proxies |
\* Treat LOCAL_APP_PASSWORD as a secret even though it is typed by a human.
Generate secrets with a cryptographically secure password manager or openssl rand -base64 48. Placeholder strings such as replace-me are rejected at startup.
http://localhost is supported for local browser use. Any LAN, VPS, tunnel, or internet deployment must use HTTPS. Put a reverse proxy such as Caddy or nginx in front of port 3000 (prefer proxying to the loopback bind above) and set APP_BASE_URL to the exact public origin. Do not expose port 3000 on 0.0.0.0 without TLS and a password.
Unipile connect and reply callbacks require a reachable HTTPS URL that matches APP_BASE_URL.
When a user connects LinkedIn, Omentir registers a server-to-server notify URL with Unipile:
{APP_BASE_URL}/api/connect/callback
That endpoint requires a high-entropy, one-time connect token issued when the flow starts and consumed on success. It also verifies that the returned account exists in the configured Unipile account before saving it. Shared secrets are never placed in callback URLs.
Reply / relation webhooks use the separate Unipile webhook route and the same UNIPILE_WEBHOOK_SECRET (header x-omentir-webhook-secret).
Keep ENABLE_LIVE_AUTOMATION=false, connect LinkedIn, and inspect dry-run decisions in automationRuns. Only set it to true after the account, targeting, message drafts, and quotas are correct. AUTOMATION_DISABLED=true is the emergency stop and also permits omitting CRON_SECRET.
The process can run a built-in scheduler that calls GET /api/jobs/automation-tick with CRON_SECRET (header x-cron-secret or Authorization: Bearer …). Job secret comparison is constant-time. Do not put CRON_SECRET in browser-facing URLs or public logs.
Local mode never sends Omentir marketing, founder, contact-form, or mailing-list email. Operational notifications can use your own Resend account. Without it, outreach still works and notification sends are skipped.
The same repository powers oment