Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,537Letters: 14Defects: 1,323counted 4 min ago
teppi

Server definition

Hash
sha256:d605b0ff7864732e123f40fc81a62d065c0f5946f4d00e22abdb019f7895fe01
What it is
What a remote MCP server returned when asked what it offers: 18 tools

The blob, as servednamed by its sha256

{ "instructions": null, "tools": [ { "description": "APPLY a tag to one or more contacts (segments them / can trigger automation). Keap: POST /tags/{tag_id}/contacts:applyTags.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "contact_ids": { "description": "Ids of the contacts to tag.", "items": { "type": "string" }, "type": "array" }, "tag_id": { "description": "The id of the tag to apply.", "type": "string" } }, "required": [ "tag_id", "contact_ids" ], "type": "object" }, "name": "keap_apply_tag", "outputSchema": null }, { "description": "CREATE a new contact in the Keap CRM. Provide any of given_name, family_name, email_addresses, phone_numbers, company_id, plus an optional `extra` object of any other Keap fields. Keap: POST /contacts.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "company_id": { "description": "Id of the company to associate the contact with.", "type": "string" }, "email_addresses": { "description": "Email addresses to set on the contact.", "items": { "properties": { "email": { "description": "The email address.", "type": "string" }, "field": { "description": "Which email slot, e.g. EMAIL1 / EMAIL2 / EMAIL3.", "type": "string" } }, "required": [ "email" ], "type": "object" }, "type": "array" }, "extra": { "additionalProperties": {}, "description": "Any other Keap fields to merge into the request body verbatim.", "propertyNames": { "type": "string" }, "type": "object" }, "family_name": { "description": "The contact's last name.", "type": "string" }, "given_name": { "description": "The contact's first name.", "type": "string" }, "phone_numbers": { "description": "Phone numbers to set on the contact.", "items": { "properties": { "field": { "description": "Which phone slot, e.g. PHONE1 / PHONE2.", "type": "string" }, "number": { "description": "The phone number.", "type": "string" } }, "required": [ "number" ], "type": "object" }, "type": "array" } }, "type": "object" }, "name": "keap_create_contact", "outputSchema": null }, { "description": "CREATE a task (follow-up / to-do), optionally linked to a contact. Keap: POST /tasks.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "contact_id": { "description": "Id of a contact to link the task to.", "type": "string" }, "description": { "description": "A longer description / notes for the task.", "type": "string" }, "due_date": { "description": "Due date/time, ISO 8601 (e.g. 2026-08-01T17:00:00Z).", "type": "string" }, "extra": { "additionalProperties": {}, "description": "Any other Keap fields to merge into the request body verbatim.", "propertyNames": { "type": "string" }, "type": "object" }, "title": { "description": "The task title.", "type": "string" } }, "required": [ "title" ], "type": "object" }, "name": "keap_create_task", "outputSchema": null }, { "description": "Get a single company by id. Keap: GET /companies/{company_id}.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "company_id": { "description": "The company id.", "type": "string" }, "fields": { "description": "Comma-separated list of fields to return (field selection).", "type": "string" } }, "required": [ "company_id" ], "type": "object" }, "name": "keap_get_company", "outputSchema": null }, { "description": "Get a single contact by id. Keap: GET /contacts/{contact_id}.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "contact_id": { "description": "The contact id.", "type": "string" }, "fields": { "description": "Comma-separated list of fields to return (field selection).", "type": "string" } }, "required": [ "contact_id" ], "type": "object" }, "name": "keap_get_contact", "outputSchema": null }, { "description": "Get a single opportunity by id. Keap: GET /opportunities/{opportunity_id}.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "opportunity_id": { "description": "The opportunity id.", "type": "string" } }, "required": [ "opportunity_id" ], "type": "object" }, "name": "keap_get_opportunity", "outputSchema": null }, { "description": "Get a single task by id. Keap: GET /tasks/{task_id}.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "task_id": { "description": "The task id.", "type": "string" } }, "required": [ "task_id" ], "type": "object" }, "name": "keap_get_task", "outputSchema": null }, { "description": "List referral-program affiliates. Supports filtering, ordering, and cursor pagination. Keap: GET /affiliates.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "filter": { "description": "Filter expression, e.g. `given_name==John` (see Keap REST v2 filtering).", "type": "string" }, "order_by": { "description": "Field to order results by, e.g. `given_name` or `-date_created`.", "type": "string" }, "page_size": { "description": "Number of records per page (max 1000).", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "page_token": { "description": "Opaque pagination cursor from a prior response's next_page_token.", "type": "string" } }, "type": "object" }, "name": "keap_list_affiliates", "outputSchema": null }, { "description": "List marketing campaigns (automation sequences). Supports filtering, ordering, and cursor pagination. Keap: GET /campaigns.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "filter": { "description": "Filter expression, e.g. `given_name==John` (see Keap REST v2 filtering).", "type": "string" }, "order_by": { "description": "Field to order results by, e.g. `given_name` or `-date_created`.", "type": "string" }, "page_size": { "description": "Number of records per page (max 1000).", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "page_token": { "description": "Opaque pagination cursor from a prior response's next_page_token.", "type": "string" } }, "type": "object" }, "name": "keap_list_campaigns", "outputSchema": null }, { "description": "List companies in the Keap CRM. Supports filtering, ordering, field selection, and cursor pagination. Keap: GET /companies.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "fields": { "description": "Comma-separated list of fields to return (field selection).", "type": "string" }, "filter": { "description": "Filter expression, e.g. `given_name==John` (see Keap REST v2 filtering).", "type": "string" }, "order_by": { "description": "Field to order results by, e.g. `given_name` or `-date_created`.", "type": "string" }, "page_size": { "description": "Number of records per page (max 1000).", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "page_token": { "description": "Opaque pagination cursor from a prior response's next_page_token.", "type": "string" } }, "type": "object" }, "name": "keap_list_companies", "outputSchema": null }, { "description": "List contacts in the Keap CRM. Supports filtering, ordering, field selection, and cursor pagination (page_size / page_token). Keap: GET /contacts.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "fields": { "description": "Comma-separated list of fields to return (field selection).", "type": "string" }, "filter": { "description": "Filter expression, e.g. `given_name==John` (see Keap REST v2 filtering).", "type": "string" }, "order_by": { "description": "Field to order results by, e.g. `given_name` or `-date_created`.", "type": "string" }, "page_size": { "description": "Number of records per page (max 1000).", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "page_token": { "description": "Opaque pagination cursor from a prior response's next_page_token.", "type": "string" } }, "type": "object" }, "name": "keap_list_contacts", "outputSchema": null }, { "description": "List sales opportunities (deals) in the pipeline. Supports filtering, ordering, field selection, and cursor pagination. Keap: GET /opportunities.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "fields": { "description": "Comma-separated list of fields to return (field selection).", "type": "string" }, "filter": { "description": "Filter expression, e.g. `given_name==John` (see Keap REST v2 filtering).", "type": "string" }, "order_by": { "description": "Field to order results by, e.g. `given_name` or `-date_created`.", "type": "string" }, "page_size": { "description": "Number of records per page (max 1000).", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "page_token": { "description": "Opaque pagination cursor from a prior response's next_page_token.", "type": "string" } }, "type": "object" }, "name": "keap_list_opportunities", "outputSchema": null }, { "description": "List e-commerce orders. Supports filtering, ordering, and cursor pagination. Keap: GET /orders.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "filter": { "description": "Filter expression, e.g. `given_name==John` (see Keap REST v2 filtering).", "type": "string" }, "order_by": { "description": "Field to order results by, e.g. `given_name` or `-date_created`.", "type": "string" }, "page_size": { "description": "Number of records per page (max 1000).", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "page_token": { "description": "Opaque pagination cursor from a prior response's next_page_token.", "type": "string" } }, "type": "object" }, "name": "keap_list_orders", "outputSchema": null }, { "description": "List products in the catalog. Supports filtering, ordering, and cursor pagination. Keap: GET /products.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "filter": { "description": "Filter expression, e.g. `given_name==John` (see Keap REST v2 filtering).", "type": "string" }, "order_by": { "description": "Field to order results by, e.g. `given_name` or `-date_created`.", "type": "string" }, "page_size": { "description": "Number of records per page (max 1000).", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "page_token": { "description": "Opaque pagination cursor from a prior response's next_page_token.", "type": "string" } }, "type": "object" }, "name": "keap_list_products", "outputSchema": null }, { "description": "List recurring subscriptions / payment plans. Supports filtering, ordering, and cursor pagination. Keap: GET /subscriptions.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "filter": { "description": "Filter expression, e.g. `given_name==John` (see Keap REST v2 filtering).", "type": "string" }, "order_by": { "description": "Field to order results by, e.g. `given_name` or `-date_created`.", "type": "string" }, "page_size": { "description": "Number of records per page (max 1000).", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "page_token": { "description": "Opaque pagination cursor from a prior response's next_page_token.", "type": "string" } }, "type": "object" }, "name": "keap_list_subscriptions", "outputSchema": null }, { "description": "List tags defined in the account (used to segment contacts). Supports filtering, ordering, and cursor pagination. Keap: GET /tags.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "filter": { "description": "Filter expression, e.g. `given_name==John` (see Keap REST v2 filtering).", "type": "string" }, "order_by": { "description": "Field to order results by, e.g. `given_name` or `-date_created`.", "type": "string" }, "page_size": { "description": "Number of records per page (max 1000).", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "page_token": { "description": "Opaque pagination cursor from a prior response's next_page_token.", "type": "string" } }, "type": "object" }, "name": "keap_list_tags", "outputSchema": null }, { "description": "List tasks (follow-ups / to-dos). Supports filtering, ordering, and cursor pagination. Keap: GET /tasks.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "filter": { "description": "Filter expression, e.g. `given_name==John` (see Keap REST v2 filtering).", "type": "string" }, "order_by": { "description": "Field to order results by, e.g. `given_name` or `-date_created`.", "type": "string" }, "page_size": { "description": "Number of records per page (max 1000).", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "page_token": { "description": "Opaque pagination cursor from a prior response's next_page_token.", "type": "string" } }, "type": "object" }, "name": "keap_list_tasks", "outputSchema": null }, { "description": "UPDATE an existing contact by id. Provide any of given_name, family_name, email_addresses, phone_numbers, company_id, plus an optional `extra` object of any other Keap fields (only supplied fields are changed). Keap: PATCH /contacts/{contact_id}.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "company_id": { "description": "Id of the company to associate the contact with.", "type": "string" }, "contact_id": { "description": "The contact id to update.", "type": "string" }, "email_addresses": { "description": "Email addresses to set on the contact.", "items": { "properties": { "email": { "description": "The email address.", "type": "string" }, "field": { "description": "Which email slot, e.g. EMAIL1 / EMAIL2 / EMAIL3.", "type": "string" } }, "required": [ "email" ], "type": "object" }, "type": "array" }, "extra": { "additionalProperties": {}, "description": "Any other Keap fields to merge into the request body verbatim.", "propertyNames": { "type": "string" }, "type": "object" }, "family_name": { "description": "The contact's last name.", "type": "string" }, "given_name": { "description": "The contact's first name.", "type": "string" }, "phone_numbers": { "description": "Phone numbers to set on the contact.", "items": { "properties": { "field": { "description": "Which phone slot, e.g. PHONE1 / PHONE2.", "type": "string" }, "number": { "description": "The phone number.", "type": "string" } }, "required": [ "number" ], "type": "object" }, "type": "array" } }, "required": [ "contact_id" ], "type": "object" }, "name": "keap_update_contact", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:d605b0ff7864732e123f40fc81a62d065c0f5946f4d00e22abdb019f7895fe01 | sha256sum