llmconveyors-mcp
llmconveyors-mcp
AI 에이전트를 LLM Conveyors 플랫폼에 연결하는 MCP 서버입니다. Claude, Cursor 또는 MCP 호환 클라이언트에서 직접 구직, B2B 영업 및 기타 AI 에이전트를 실행하세요.
LLM Conveyors란 무엇인가요?
액션당 과금 방식(완료된 액션당 $1–5)을 사용하는 커뮤니티 기반 AI 에이전트 플랫폼입니다. 월 $100의 SaaS 구독료 대신, 이력서 점수 산정, 기업 조사, 콜드 이메일 생성 등 실제 결과물에 대해서만 비용을 지불합니다.
라이브 에이전트:
Job Hunter — 구직 지원을 위한 맞춤형 이력서, 자기소개서 및 콜드 이메일 생성
B2B Sales — 심층적인 기업 조사 및 개인화된 영업 아웃리치
Related MCP server: boss-agent-cli
빠른 시작
1. API 키 발급
llmconveyors.com에 가입하고 설정(Settings) → API 키(API Keys)에서 API 키를 생성하세요.
2. MCP 클라이언트에 추가
claude_desktop_config.json에 추가하세요:
{
"mcpServers": {
"llmconveyors": {
"command": "npx",
"args": ["-y", "llmconveyors-mcp"],
"env": {
"LLMC_API_KEY": "llmc_your_key_here"
}
}
}
}claude mcp add llmconveyors -- npx -y llmconveyors-mcp쉘 또는 .env 파일에 환경 변수를 설정하세요:
export LLMC_API_KEY=llmc_your_key_here.cursor/mcp.json에 추가하세요:
{
"mcpServers": {
"llmconveyors": {
"command": "npx",
"args": ["-y", "llmconveyors-mcp"],
"env": {
"LLMC_API_KEY": "llmc_your_key_here"
}
}
}
}~/.codeium/windsurf/mcp_config.json에 추가하세요:
{
"mcpServers": {
"llmconveyors": {
"command": "npx",
"args": ["-y", "llmconveyors-mcp"],
"env": {
"LLMC_API_KEY": "llmc_your_key_here"
}
}
}
}3. 사용 시작
AI 에이전트에게 다음과 같이 요청하세요:
"Anthropic의 시니어 엔지니어 역할을 위해 Job Hunter 에이전트를 실행해 줘. 채용 공고는 다음과 같아: ..."
"이 채용 공고에 맞춰 내 이력서의 ATS 호환성 점수를 매겨 줘."
"Stripe를 조사하고 우리 개발자 도구 제품을 위한 B2B 콜드 이메일 초안을 작성해 줘."
사용 가능한 도구 (66개)
에이전트
도구 | 설명 |
| Job Hunter 에이전트 실행 — 맞춤형 이력서, 자기소개서, 콜드 이메일 생성 |
| B2B Sales 에이전트 실행 — 기업 조사 및 영업 아웃리치 생성 |
| 실행 중인 에이전트 작업 상태 확인 |
| 입력을 기다리는 단계별 에이전트 워크플로우에 응답 제출 |
| 이력서 동기식 생성 (더 빠름, 이력서만 생성) |
| 에이전트의 입력 필드, 기능 및 결제 정보 가져오기 |
이력서
도구 | 설명 |
| 이력서 파일을 구조화된 JSON 이력서 형식으로 파싱 |
| JSON 이력서 형식의 이력서 유효성 검사 |
| 이력서를 PDF 또는 HTML로 렌더링 |
| 이력서를 HTML로 미리보기 |
| 사용 가능한 이력서 테마 목록 |
| Reactive Resume 형식에서 가져오기 |
| Reactive Resume 형식으로 내보내기 |
마스터 이력서
도구 | 설명 |
| 새 마스터 이력서 생성 |
| 모든 마스터 이력서 목록 |
| ID로 마스터 이력서 가져오기 |
| 마스터 이력서 업데이트 |
| 마스터 이력서 삭제 |
업로드 및 파싱
도구 | 설명 |
| 이력서 파일 업로드 및 파싱 (base64) |
| 채용 공고 파일 업로드 및 파싱 (base64) |
| 텍스트 또는 URL에서 채용 공고 파싱 |
ATS 점수 산정
도구 | 설명 |
| 채용 공고에 대한 이력서의 ATS 호환성 점수 산정 |
세션
도구 | 설명 |
| 새 세션 생성 |
| 선택적 필터링을 포함한 세션 목록 |
| ID로 세션 가져오기 |
| 아티팩트와 로그를 포함한 전체 세션 가져오기 |
| 스토리지 키를 사용하여 세션에서 아티팩트 다운로드 |
| 세션 삭제 |
| 에이전트 컨텍스트 및 구성으로 세션 초기화 |
| 세션에 로그 항목 추가 |
설정 및 API 키
도구 | 설명 |
| 사용자 프로필 가져오기 (크레딧, 플랜) |
| 사용자 환경 설정 가져오기 |
| 사용자 환경 설정 업데이트 |
| 사용량 요약 가져오기 |
| 페이지별 사용 로그 가져오기 |
| 새 API 키 생성 |
| 모든 API 키 목록 |
| API 키 취소 |
| API 키 교체 |
| 특정 API 키에 대한 사용 통계 가져오기 |
| 자체 API 키(BYO) 구성 여부 확인 |
| 공급자(예: Gemini)를 위한 BYO API 키 설정 |
| 구성된 BYO API 키 제거 |
| 현재 웹훅 시크릿 가져오기 |
| 웹훅 시크릿 교체 |
콘텐츠 및 공유
도구 | 설명 |
| AI 생성 컨텍스트를 위한 소스 문서 저장 |
| 생성물 및 해당 아티팩트 삭제 |
| 개인화된 콘텐츠를 위해 발신자 배경 조사 |
| 저장된 모든 소스 문서 목록 |
| ID로 특정 소스 문서 가져오기 |
| 저장된 소스 문서 삭제 |
| 생성된 콘텐츠에 대한 공개 공유 링크 생성 |
| 공유 링크 통계 가져오기 |
| 슬러그로 공개 공유 항목 가져오기 |
| 특정 공유 링크에 대한 방문 통계 가져오기 |
개인정보 보호
도구 | 설명 |
| 현재 사용자에 대한 모든 동의 기록 목록 |
| 특정 데이터 처리 목적에 대한 동의 부여 |
| 이전에 부여한 동의 철회 |
추천
도구 | 설명 |
| 추천 프로그램 통계 가져오기 |
| 추천 코드 가져오기 |
| 사용자 지정 추천 코드 설정 |
문서
도구 | 설명 |
| 스토리지 경로로 아티팩트 다운로드 |
상태 확인
도구 | 설명 |
| 서버 정보 및 버전 가져오기 |
| 모든 종속성에 대한 전체 상태 확인 실행 |
| 서버가 요청을 수락할 준비가 되었는지 확인 |
| 서버 프로세스가 활성 상태인지 확인 |
API 키 범위
사용하려는 도구에 맞는 적절한 범위(Scope)가 API 키에 필요합니다:
범위 | 도구 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
환경 변수
변수 | 필수 | 설명 |
| 예 | LLM Conveyors API 키 (접두사 |
| 아니오 | 사용자 지정 API 엔드포인트 (기본값 |
개발
git clone https://github.com/ebenezer-isaac/llmconveyors-mcp.git
cd llmconveyors-mcp
npm install
npm run build
# Test locally
LLMC_API_KEY=llmc_your_key node dist/index.js요구 사항
Node.js >= 18
LLM Conveyors API 키 (여기서 발급)
링크
라이선스
MIT — 자세한 내용은 LICENSE를 참조하세요.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
54 tool updates
v0.1.1- Added
agent-interact - Changed
agent-status1 field changed- added
Input schema / properties / includeAdded value: +{ + "description": "Data to include. Defaults to both logs and artifacts. Omit for lightweight status checks.", + "items": { + "enum": [ + "logs", + "artifacts" + ], + "type": "string" + }, + "type": "array" +}
- Changed
api-key-create4 fields changed- added
Input schema / properties / expiresAtAdded value: +{ + "description": "Expiration date as ISO 8601 string", + "type": "string" +} - added
Input schema / properties / monthlyCreditsLimitAdded value: +{ + "description": "Monthly credit usage cap for this key", + "type": "number" +} - changed
Input schema / properties / scopes / descriptionPrevious value: -"Permission scopes for the key"New value: +"Permission scopes for the key. Use '*' for all scopes." - changed
Input schema / properties / scopes / items / enumPrevious value: -[ - "jobs:write", - "jobs:read", - "sales:write", - "sales:read", - "sessions:read", - "sessions:write", - "settings:read", - "settings:write", - "upload:write", - "resume:read", - "resume:write", - "ats:write", - "webhook:read", - "webhook:write" -]New value: +[ + "*", + "jobs:write", + "jobs:read", + "sales:write", + "sales:read", + "sessions:read", + "sessions:write", + "settings:read", + "settings:write", + "upload:write", + "resume:read", + "resume:write", + "ats:write", + "webhook:read", + "webhook:write", + "outreach:read", + "outreach:write" +]
- Removed
api-key-revoke - Changed
api-key-rotate1 field changed- added
Input schema / properties / gracePeriodHoursAdded value: +{ + "description": "Hours the old key remains valid after rotation (default: 24)", + "type": "number" +}
- Added
api-key-usage - Changed
ats-score1 field changed- added
Input schema / properties / jobTitleAdded value: +{ + "description": "Job title for additional context", + "type": "string" +}
- Changed
b2b-sales-run20 fields changed- added
Input schema / properties / autoApproveDraftAdded value: +{ + "description": "Set false to pause for draft review before finalizing", + "type": "boolean" +} - added
Input schema / properties / autoApproveFollowupsAdded value: +{ + "description": "Set false to pause for follow-up review before finalizing", + "type": "boolean" +} - added
Input schema / properties / autoSelectContactsAdded value: +{ + "description": "Set false for phased execution with contact selection gate", + "type": "boolean" +} - added
Input schema / properties / companyResearchAdded value: +{ + "description": "Pre-researched company information to skip research phase", + "type": "string" +} - added
Input schema / properties / contactEmailAdded value: +{ + "description": "Target contact email address", + "type": "string" +} - added
Input schema / properties / contactNameAdded value: +{ + "description": "Target contact name", + "type": "string" +} - added
Input schema / properties / contactTitleAdded value: +{ + "description": "Target contact job title", + "type": "string" +} - added
Input schema / properties / followUpCountAdded value: +{ + "description": "Number of follow-up emails to generate", + "type": "number" +} - added
Input schema / properties / followUpDelayDaysAdded value: +{ + "description": "Days between follow-up emails", + "type": "number" +} - added
Input schema / properties / generationIdAdded value: +{ + "description": "Existing generation ID to continue", + "type": "string" +} - added
Input schema / properties / modelAdded value: +{ + "description": "AI model: flash (faster/cheaper) or pro (higher quality)", + "enum": [ + "flash", + "pro" + ], + "type": "string" +} - added
Input schema / properties / reconStrategyAdded value: +{ + "description": "Strategy instructions for company research/recon phase", + "type": "string" +} - added
Input schema / properties / researchModeAdded value: +{ + "description": "Research execution mode: parallel (faster) or sequential", + "enum": [ + "parallel", + "sequential" + ], + "type": "string" +} - added
Input schema / properties / salesStrategyAdded value: +{ + "description": "Sales strategy to use for outreach generation", + "type": "string" +} - added
Input schema / properties / senderNameAdded value: +{ + "description": "Name of the person sending the outreach", + "type": "string" +} - added
Input schema / properties / sessionIdAdded value: +{ + "description": "Existing session ID to continue a previous run", + "type": "string" +} - added
Input schema / properties / skipResearchCacheAdded value: +{ + "description": "Force fresh company research instead of using cache", + "type": "boolean" +} - removed
Input schema / properties / strategyRemoved value: -{ - "description": "Sales strategy or approach", - "type": "string" -} - added
Input schema / properties / targetCompanyContextAdded value: +{ + "description": "Pre-researched context about the target company", + "type": "string" +} - added
Input schema / properties / userCompanyContextAdded value: +{ + "description": "Context about your own company for personalization", + "type": "string" +}
- Added
byo-key-get - Added
byo-key-remove - Added
byo-key-set - Added
content-delete-source - Added
content-get-source - Added
content-list-sources - Added
content-research-sender - Removed
content-save - Added
health-check - Added
health-live - Added
health-ready - Added
health-root - Added
job-hunter-generate-cv - Changed
job-hunter-run23 fields changed- added
Input schema / properties / autoSelectContactsAdded value: +{ + "description": "Set false for phased execution with contact selection gate. Default true for API keys.", + "type": "boolean" +} - added
Input schema / properties / coldEmailStrategyAdded value: +{ + "description": "Strategy instructions for cold email generation", + "type": "string" +} - added
Input schema / properties / companyProfileAdded value: +{ + "description": "Pre-researched company profile to skip research phase", + "type": "string" +} - added
Input schema / properties / companyWebsiteAdded value: +{ + "description": "Target company website URL for research phase", + "type": "string" +} - added
Input schema / properties / contactTitleAdded value: +{ + "description": "Contact job title", + "type": "string" +} - added
Input schema / properties / coverLetterStrategyAdded value: +{ + "description": "Strategy instructions for cover letter generation", + "type": "string" +} - added
Input schema / properties / cvStrategyAdded value: +{ + "description": "Strategy instructions for CV generation", + "type": "string" +} - added
Input schema / properties / emailAddressesAdded value: +{ + "description": "Comma-separated email addresses for outreach", + "type": "string" +} - added
Input schema / properties / extensiveCVAdded value: +{ + "description": "Extended/detailed CV text for richer generation", + "type": "string" +} - added
Input schema / properties / generationIdAdded value: +{ + "description": "Existing generation ID to continue", + "type": "string" +} - added
Input schema / properties / genericEmailAdded value: +{ + "description": "Generic company email (e.g. careers@company.com) as fallback", + "type": "string" +} - added
Input schema / properties / jobSourceUrlAdded value: +{ + "description": "URL of the original job posting", + "type": "string" +} - added
Input schema / properties / modelAdded value: +{ + "description": "AI model: flash (faster/cheaper) or pro (higher quality)", + "enum": [ + "flash", + "pro" + ], + "type": "string" +} - added
Input schema / properties / originalCVAdded value: +{ + "description": "Original CV text to use directly instead of master resume", + "type": "string" +} - added
Input schema / properties / reconStrategyAdded value: +{ + "description": "Strategy instructions for company research/recon phase", + "type": "string" +} - added
Input schema / properties / sessionIdAdded value: +{ + "description": "Existing session ID to continue a previous run", + "type": "string" +} - added
Input schema / properties / skipResearchCacheAdded value: +{ + "description": "Force fresh company research instead of using cache", + "type": "boolean" +} - added
Input schema / properties / specificCoreAdded value: +{ + "description": "Specific core competencies or skills to emphasize", + "type": "string" +} - changed
Input schema / properties / theme / descriptionPrevious value: -"Resume theme (Even, StackOverflow, Class, Professional)"New value: +"Resume theme" - added
Input schema / properties / theme / enumAdded value: +[ + "even", + "stackoverflow", + "class", + "professional", + "elegant", + "macchiato", + "react", + "academic" +] - added
Input schema / properties / tierAdded value: +{ + "description": "Billing tier: free (platform credits) or byo (bring your own key)", + "enum": [ + "free", + "byo" + ], + "type": "string" +} - added
Input schema / properties / webhookUrlAdded value: +{ + "description": "Webhook URL for async status updates (generation.completed, generation.failed, generation.awaiting_input)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "companyName", - "jobTitle", - "jobDescription" -]New value: +[ + "companyName", + "jobTitle", + "jobDescription", + "companyWebsite" +]
- Removed
master-resume-create - Changed
master-resume-delete3 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - removed
Input schema / properties / idRemoved value: -{ - "description": "Master resume ID", - "type": "string" -} - removed
Input schema / requiredRemoved value: -[ - "id" -]
- Changed
master-resume-get3 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - removed
Input schema / properties / idRemoved value: -{ - "description": "Master resume ID", - "type": "string" -} - removed
Input schema / requiredRemoved value: -[ - "id" -]
- Removed
master-resume-list - Removed
master-resume-update - Added
master-resume-upsert - Added
privacy-grant-consent - Added
privacy-list-consents - Added
privacy-revoke-consent - Added
referral-code - Added
referral-stats - Added
referral-vanity-code - Changed
resume-export-rx1 field changed- added
Input schema / properties / designBlobAdded value: +{ + "additionalProperties": {}, + "description": "Optional design/styling configuration", + "type": "object" +}
- Added
resume-parse - Changed
resume-preview2 fields changed- changed
Input schema / properties / theme / descriptionPrevious value: -"Theme name"New value: +"Theme name (e.g. even, stackoverflow, class, professional)" - changed
Input schema / requiredPrevious value: -[ - "resume" -]New value: +[ + "resume", + "theme" +]
- Changed
resume-render4 fields changed- changed
Input schema / properties / format / descriptionPrevious value: -"Output format"New value: +"Output format: pdf (default) or html" - added
Input schema / properties / format / enumAdded value: +[ + "pdf", + "html" +] - changed
Input schema / properties / theme / descriptionPrevious value: -"Theme name (e.g. Even, StackOverflow, Class, Professional)"New value: +"Theme name (e.g. even, stackoverflow, class, professional, elegant, macchiato, react, academic)" - changed
Input schema / requiredPrevious value: -[ - "resume" -]New value: +[ + "resume", + "theme" +]
- Changed
session-create2 fields changed- changed
Input schema / properties / metadata / descriptionPrevious value: -"Optional session metadata (e.g. agentType, source)"New value: +"Optional session metadata" - added
Input schema / properties / sessionIdAdded value: +{ + "description": "Optional client-generated session ID", + "type": "string" +}
- Added
session-download - Added
session-init - Changed
session-list6 fields changed- removed
Input schema / properties / agentTypeRemoved value: -{ - "description": "Filter by agent type", - "type": "string" -} - added
Input schema / properties / cursorAdded value: +{ + "description": "Cursor for pagination (ISO 8601 datetime string)", + "type": "string" +} - changed
Input schema / properties / limit / descriptionPrevious value: -"Number of sessions per page"New value: +"Number of sessions per page (1-50)" - added
Input schema / properties / limit / maximumAdded value: +50 - added
Input schema / properties / limit / minimumAdded value: +1 - removed
Input schema / properties / pageRemoved value: -{ - "description": "Page number for pagination", - "type": "number" -}
- Added
session-log - Added
session-stats - Changed
settings-preferences-get2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / agentTypeAdded value: +{ + "description": "Filter preferences by agent type (e.g. job-hunter, b2b-sales)", + "type": "string" +}
- Changed
settings-preferences-update1 field changed- added
Input schema / properties / agentTypeAdded value: +{ + "description": "Agent type to scope preferences to (e.g. job-hunter, b2b-sales)", + "type": "string" +}
- Added
settings-supported-providers - Changed
settings-usage-logs2 fields changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Number of entries to return"New value: +"Number of entries to return (max 100)" - added
Input schema / properties / limit / maximumAdded value: +100
- Added
share-slug-stats - Changed
upload-job-file2 fields changed- changed
Input schema / properties / fileBase64 / descriptionPrevious value: -"Base64-encoded file content (PDF, DOCX, etc.)"New value: +"Base64-encoded file content (PDF, DOCX, etc.) — max ~10 MB" - added
Input schema / properties / fileBase64 / maxLengthAdded value: +13981014
- Changed
upload-job-text5 fields changed- changed
Input schema / properties / source / descriptionPrevious value: -"Source URL or identifier for the job posting"New value: +"Source label/identifier for the job posting" - changed
Input schema / properties / text / descriptionPrevious value: -"Job description text"New value: +"Job description text (max 50K characters). Required if url is not provided." - added
Input schema / properties / text / maxLengthAdded value: +50000 - added
Input schema / properties / urlAdded value: +{ + "description": "URL to fetch job description from. Required if text is not provided.", + "format": "uri", + "maxLength": 2048, + "type": "string" +} - removed
Input schema / requiredRemoved value: -[ - "text" -]
- Changed
upload-resume2 fields changed- changed
Input schema / properties / fileBase64 / descriptionPrevious value: -"Base64-encoded file content (PDF, DOCX, etc.)"New value: +"Base64-encoded file content (PDF, DOCX, etc.) — max ~10 MB" - added
Input schema / properties / fileBase64 / maxLengthAdded value: +13981014
- Added
webhook-secret-get - Added
webhook-secret-rotate
39 tool updates
v0.1.0- First observed
agent-manifest - First observed
agent-status - First observed
api-key-create - First observed
api-key-list - First observed
api-key-revoke - First observed
api-key-rotate - First observed
ats-score - First observed
b2b-sales-run - First observed
content-delete-generation - First observed
content-save - First observed
document-download - First observed
job-hunter-run - First observed
master-resume-create - First observed
master-resume-delete - First observed
master-resume-get - First observed
master-resume-list - First observed
master-resume-update - First observed
resume-export-rx - First observed
resume-import-rx - First observed
resume-preview - First observed
resume-render - First observed
resume-themes - First observed
resume-validate - First observed
session-create - First observed
session-delete - First observed
session-get - First observed
session-hydrate - First observed
session-list - First observed
settings-preferences-get - First observed
settings-preferences-update - First observed
settings-profile - First observed
settings-usage-logs - First observed
settings-usage-summary - First observed
share-create - First observed
share-get-public - First observed
share-stats - First observed
upload-job-file - First observed
upload-job-text - First observed
upload-resume
TDQS
Scored across 64 tools
Most tools have distinct purposes, but there is notable overlap in some areas. For example, health-check, health-live, health-ready, and health-root all serve health diagnostics with subtle distinctions that could confuse an agent. Similarly, session-get and session-hydrate both retrieve session data with different detail levels, which might lead to misselection if not carefully read.
Tool names generally follow a consistent verb_noun pattern (e.g., agent-status, api-key-create, resume-parse), with clear and predictable naming. Minor deviations exist, such as ats-score (noun_verb) and byo-key-get (abbreviation-based), but overall the naming is coherent and easy to understand.
With 64 tools, the count is excessive for a single server, making it overwhelming and difficult for an agent to navigate efficiently. While the domain (AI-powered job and sales automation) is broad, the toolset feels bloated with many specialized or overlapping tools that could have been consolidated.
The tool surface is highly comprehensive, covering CRUD operations for sessions, resumes, API keys, and more, with clear workflows for job hunting and B2B sales. Minor gaps exist, such as no direct tool for updating a session's metadata, but agents can work around these with existing tools like session-log or content-save.
Maintenance
Related MCP Connectors
LinkedIn outreach MCP server — 19 tools for AI agents to prospect, sequence, and manage contacts.
Generate tailored, ATS-optimized resume PDFs and cover letters from a job description, over MCP.
Managed LinkedIn MCP server for AI agents: search, connect, message and enrich on accounts you own.
Marketo MCP server for AI. 130 tools to operate Marketo from Claude, Cursor, or ChatGPT.
Related MCP Servers
AlicenseBqualityBmaintenanceHosted MCP server for job search (3M+ jobs from employer career pages and ATS feeds like Lever/Greenhouse), PDF resume generation with multiple templates, AI resume tailoring per job description, cover letters, and career advice. Free hosted endpoint, no API key required.3315MIT- AlicenseBqualityAmaintenanceLocal MCP server for BOSS Zhipin workflows. Exposes 49 tools for job search, welfare filtering, recruiter messaging, pipeline tracking, and resume optimization for AI agents.73306 PyPI1,947MIT
- AlicenseBqualityDmaintenanceDeterministic MCP server for job-landing pipeline that parses CVs into validated JSON Resume, detects sections, scores parse confidence, and exposes FR/US market profiles to help beat ATS and LLM screeners honestly.75MIT
- AlicenseNot gradedqualityAmaintenanceA production-grade FastAPI-based MCP server for career-oriented tools, currently exposing GitHub integration (profile, repos, pinned, search, rate limits) to LLM clients via the Model Context Protocol.MIT