llmconveyors-mcp
llmconveyors-mcp
AIエージェントをLLM Conveyorsプラットフォームに接続するMCPサーバーです。Claude、Cursor、またはMCP互換クライアントから直接、求職者向けエージェントやB2B営業エージェントなどを実行できます。
LLM Conveyorsとは?
アクションごとの従量課金制(完了したアクションあたり1〜5ドル)を採用した、コミュニティ主導のAIエージェントプラットフォームです。月額100ドルのSaaSサブスクリプションではなく、履歴書のスコアリング、企業調査、コールドメールの生成など、実際の成果に対してのみ料金が発生します。
ライブエージェント:
Job Hunter — 求職活動のための最適化された履歴書、カバーレター、コールドメールの作成
B2B Sales — 詳細な企業調査とパーソナライズされた営業アウトリーチ
Related MCP server: boss-agent-cli
クイックスタート
1. APIキーの取得
llmconveyors.comにサインアップし、「Settings」→「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 Resume形式に解析 |
| JSON Resume形式の履歴書を検証 |
| 履歴書を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キーを削除 |
| 現在のWebhookシークレットを取得 |
| Webhookシークレットをローテーション |
コンテンツと共有
ツール | 説明 |
| AI生成コンテキスト用のソースドキュメントを保存 |
| 生成物とそのアーティファクトを削除 |
| パーソナライズされたコンテンツのために送信者の背景を調査 |
| 保存されたすべてのソースドキュメントを一覧表示 |
| IDで特定のソースドキュメントを取得 |
| 保存されたソースドキュメントを削除 |
| 生成されたコンテンツの公開共有リンクを作成 |
| 共有リンクの統計を取得 |
| スラッグで公開共有を取得 |
| 特定の共有リンクの訪問統計を取得 |
プライバシー
ツール | 説明 |
| 現在のユーザーのすべての同意記録を一覧表示 |
| 特定のデータ処理目的のために同意を付与 |
| 以前に付与した同意を取り消し |
紹介
ツール | 説明 |
| 紹介プログラムの統計を取得 |
| 紹介コードを取得 |
| カスタムの紹介コードを設定 |
ドキュメント
ツール | 説明 |
| ストレージパスでアーティファクトをダウンロード |
ヘルスチェック
ツール | 説明 |
| サーバー情報とバージョンを取得 |
| すべての依存関係の完全なヘルスチェックを実行 |
| サーバーがリクエストを受け入れる準備ができているか確認 |
| サーバープロセスが生存しているか確認 |
APIキーのスコープ
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