sendgrid

Send email and read templates, marketing contacts, lists, stats, bounces and unsubscribes.

사용해야 할까요

품질 및 안전성

A
설명 품질
96%
스키마 완전성
84%
이름 품질
95%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (3)

  • LOWTool 'sendgrid_search_contacts_by_email' name length outside 3-30 rangesendgrid_search_contacts_by_email에서
  • LOWTool 'sendgrid_list_global_unsubscribes' name length outside 3-30 rangesendgrid_list_global_unsubscribes에서
  • LOWTool 'sendgrid_add_or_update_contacts' name length outside 3-30 rangesendgrid_add_or_update_contacts에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,177토큰 (도구 정의)
~1.5 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.70%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "sendgrid": {
      "url": "https://sendgrid.usefulapi.io/mcp"
    }
  }
}

원격 엔드포인트

https://sendgrid.usefulapi.io/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (11)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢sendgrid_ping

Health check — verifies the API key works and returns the scopes (permissions) granted to it. SendGrid: GET /v3/scopes.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢sendgrid_list_templates(generations, page_size, page_token)

List your transactional email templates (Dynamic and/or Legacy). Returns { result: [...], _metadata } — use _metadata.next / page_token to paginate. SendGrid: GET /v3/templates.

입력 스키마

{
  "type": "object",
  "properties": {
    "generations": {
      "default": "dynamic",
      "description": "Which template generation(s) to return (default: dynamic).",
      "type": "string",
      "enum": [
        "legacy",
        "dynamic",
        "legacy,dynamic"
      ]
    },
    "page_size": {
      "default": 50,
      "description": "Number of templates per page (1–200, default 50).",
      "type": "integer",
      "minimum": 1,
      "maximum": 200
    },
    "page_token": {
      "description": "Pagination token from a previous response's _metadata.",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢sendgrid_get_template(template_id)

Get a single transactional email template by id, including its versions (subject + content). SendGrid: GET /v3/templates/{template_id}.

입력 스키마

{
  "type": "object",
  "properties": {
    "template_id": {
      "type": "string",
      "description": "The template id (dynamic template ids start with \"d-\")."
    }
  },
  "required": [
    "template_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢sendgrid_list_marketing_lists(page_size, page_token)

List your Marketing Campaigns contact lists, each with its id, name, and contact_count. Returns { result: [...], _metadata }. SendGrid: GET /v3/marketing/lists.

입력 스키마

{
  "type": "object",
  "properties": {
    "page_size": {
      "default": 100,
      "description": "Number of lists per page (1–1000, default 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    },
    "page_token": {
      "description": "Pagination token from a previous response's _metadata.",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢sendgrid_get_contact_count

Get the total number of Marketing Campaigns contacts on your account. Returns { contact_count, billable_count }. SendGrid: GET /v3/marketing/contacts/count.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢sendgrid_search_contacts_by_email(emails)

Look up marketing contacts by exact email address (a read-only lookup — mutates nothing). Returns { result: { "<email>": { contact: {...} } } }. SendGrid: POST /v3/marketing/contacts/search/emails.

입력 스키마

{
  "type": "object",
  "properties": {
    "emails": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "One or more exact email addresses to look up."
    }
  },
  "required": [
    "emails"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢sendgrid_get_stats(start_date, end_date, aggregated_by, limit, offset)

Get global email statistics over a date range (delivered, opens, clicks, bounces, spam reports, etc.). Returns an array of { date, stats: [{ metrics: {...} }] }. SendGrid: GET /v3/stats.

입력 스키마

{
  "type": "object",
  "properties": {
    "start_date": {
      "type": "string",
      "description": "Start date in YYYY-MM-DD format (required)."
    },
    "end_date": {
      "description": "End date in YYYY-MM-DD format (defaults to today).",
      "type": "string"
    },
    "aggregated_by": {
      "description": "How to group the returned statistics.",
      "type": "string",
      "enum": [
        "day",
        "week",
        "month"
      ]
    },
    "limit": {
      "description": "Number of results to return.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "offset": {
      "description": "Number of results to skip (for pagination).",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "start_date"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢sendgrid_list_bounces(start_time, end_time, limit, offset, email)

List bounced email addresses (the bounce suppression list). Returns an array of { created, email, reason, status }. SendGrid: GET /v3/suppression/bounces.

입력 스키마

{
  "type": "object",
  "properties": {
    "start_time": {
      "description": "Start of the time range, as a Unix timestamp (seconds).",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "end_time": {
      "description": "End of the time range, as a Unix timestamp (seconds).",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "limit": {
      "description": "Number of bounces to return (1–500).",
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    },
    "offset": {
      "description": "Number of bounces to skip (for pagination).",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "email": {
      "description": "Filter to a specific bounced email address.",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢sendgrid_list_global_unsubscribes(start_time, end_time, limit, offset)

List globally-unsubscribed email addresses (the global suppression list). Returns an array of { created, email }. SendGrid: GET /v3/suppression/unsubscribes.

입력 스키마

{
  "type": "object",
  "properties": {
    "start_time": {
      "description": "Start of the time range, as a Unix timestamp (seconds).",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "end_time": {
      "description": "End of the time range, as a Unix timestamp (seconds).",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "limit": {
      "description": "Number of records to return.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "offset": {
      "description": "Number of records to skip (for pagination).",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴sendgrid_send_mail(from_email, from_name, to, subject, content_type, ...)

SENDS A REAL EMAIL immediately via SendGrid. Provide `from_email` and one or more `to` recipients, plus EITHER a subject + content OR a `template_id` (dynamic template ids start with "d-", pass values via dynamic_template_data). Returns { status: "accepted", message_id }. SendGrid: POST /v3/mail/send.

입력 스키마

{
  "type": "object",
  "properties": {
    "from_email": {
      "type": "string",
      "description": "Sender email address (must be a verified sender/domain)."
    },
    "from_name": {
      "description": "Sender display name.",
      "type": "string"
    },
    "to": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "One or more recipient email addresses."
    },
    "subject": {
      "description": "Email subject line. Required unless a template_id supplies it.",
      "type": "string"
    },
    "content_type": {
      "default": "text/html",
      "description": "MIME type of the body content (default text/html).",
      "type": "string",
      "enum": [
        "text/plain",
        "text/html"
      ]
    },
    "content": {
      "description": "The email body. Required unless template_id is provided.",
      "type": "string"
    },
    "template_id": {
      "description": "A template id to render (dynamic template ids start with \"d-\"). When set, `content` is omitted.",
      "type": "string"
    },
    "dynamic_template_data": {
      "description": "Key/value data merged into a dynamic template's handlebars variables.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "cc": {
      "description": "CC recipient email addresses.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "bcc": {
      "description": "BCC recipient email addresses.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "reply_to": {
      "description": "Reply-To email address.",
      "type": "string"
    }
  },
  "required": [
    "from_email",
    "to"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴sendgrid_add_or_update_contacts(contacts, list_ids)

UPSERTS marketing contacts (creates new ones, updates existing ones by email) and optionally adds them to lists. This is an ASYNC job — returns { job_id } you can poll. SendGrid: PUT /v3/marketing/contacts.

입력 스키마

{
  "type": "object",
  "properties": {
    "contacts": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "Contact email address (required — the primary identifier for the contact)."
          },
          "first_name": {
            "description": "Contact first name.",
            "type": "string"
          },
          "last_name": {
            "description": "Contact last name.",
            "type": "string"
          }
        },
        "required": [
          "email"
        ],
        "additionalProperties": {},
        "description": "A marketing contact. `email` is required; first_name/last_name are optional. Any additional keys are passed through as custom-field values (use the custom field's id or reserved name as the key)."
      },
      "description": "Contacts to add or update (each needs an `email`; custom fields pass through)."
    },
    "list_ids": {
      "description": "List ids to add these contacts to.",
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "contacts"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

권장 프롬프트

search_research
Search for information about [topic] using sendgrid
예상 도구: sendgrid_search_contacts_by_email
find_specific
Find [specific item] using sendgrid
예상 도구: sendgrid_search_contacts_by_email
retrieve_data
Get details about [item] from sendgrid
예상 도구: sendgrid_get_template
fetch_info
Fetch [information type] using sendgrid
예상 도구: sendgrid_get_template
list_items
List all [items] available in sendgrid
예상 도구: sendgrid_list_templates

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 11개
검증됨버전이 기록되지 않음도구 11개