MCP App Store
by KeenEthics

Overview

B2 Portal turns customer emails, call notes, transcripts, and attachments into review-ready CoreBridge V2 RFQs. Claude can search authorized CoreBridge accounts, contacts, and synchronized QuickProducts; create and triage RFQ drafts; apply explicit custom-line pricing; and push an exact current RFQ to CoreBridge only after presenting the final customer, lines, prices, exclusions, and destination and receiving explicit operator approval. Every connection is scoped to the signed-in user's B2 Portal organization, role, OAuth permissions, and authorized CoreBridge locations. Push requires a separate permission and fails closed on unresolved review state, stale versions, or missing authorization. After success, Claude returns the CoreBridge estimate number, direct CoreBridge link, and exact B2 Portal review page. CoreBridge remains authoritative for configured tax and the final estimate total.

Tools

apply_rfq_draft_actions

ChatGPT
Applies one version-checked set of typed actions to a B2 Portal RFQ draft and returns state APPLIED. Provide the latest target unchanged, use type as the action discriminator, include reason plus 1-5 evidence strings, and send only keys allowed by that action variant. SEND_AS_CUSTOM_LINE uses exactly type, decisionId, decisionUpdatedAt, unitPrice, reason, evidence; do not add description or quantity. CORRECT_LINE_ITEM rebuilds the line decision, so read the latest RFQ context afterward and apply the requested QuickProduct, custom-line price, catalog-gap, or review action to the replacement. RESOLVE_CUSTOMER_REVIEW uses exactly type, correction, reason, evidence. Directory IDs are canonical decimal strings; convert their digits exactly to positive safe integers for coreBridgeAccount.customerId and coreBridgeContactId, without rounding or inference. For an order-backed CUSTOMER_CONFIRMATION, use customer.mode existing_customer with the exact authorized local customer ID when retaining or replacing a local record. When search_contacts returns an existing CoreBridge contact, use contact.mode corebridge_contact with its exact coreBridgeContactId. Use contact.mode existing_contact only for the authorized local contact row and include its current coreBridgeContactId when retaining a known binding. A selected CoreBridge account plus a selected or new account-scoped contact can materialize the replacement local record. Use customer.mode new_customer only for pre-order MISSING_CUSTOMER. This tool changes only the B2 Portal draft; it never pushes to CoreBridge.

create_rfq_from_notes

ChatGPT
Creates an RFQ intake from notes and up to five prepared attachment references in one authorized CoreBridge V2 location. Prepare one upload session for each file, complete the signed-in upload page or certified adapter transfer, then pass each returned attachment object unchanged with the same requestId. The intake enters B2 Portal's extraction and operator-review workflow; it is not pushed to CoreBridge.

get_intake_context

ChatGPT
Returns the authorized CoreBridge V2 locations, forwarding addresses, attachment limits, and operator-review boundary for a new B2 Portal intake workflow. Use this when starting an intake. It does not change an RFQ or push to CoreBridge.

get_rfq_customer_resolution

ChatGPT
Returns one RFQ-scoped customer workflow: extracted identity, B2 Portal's current local operational record and binding, and authoritative CoreBridge account/contact candidates. These are not competing customer lists. A resolved order-backed CUSTOMER_CONFIRMATION remains readable so the caller can present alternatives and explicitly amend the draft. Use customer.mode existing_customer with the exact authorized local customer ID when retaining or replacing a local record. To select a CoreBridge account, search it here and then request its contacts; a selected or new account-scoped contact is materialized as the replacement local record. Use coreBridgeAccount.mode create_new only when the account is genuinely missing. customer.mode new_customer is valid only for a pre-order MISSING_CUSTOMER review. This tool never mutates data.

get_rfq_intake_status

ChatGPT
Checks an RFQ intake created by this MCP connection. A signed-in B2 Portal review URL is returned only after a specific RFQ or review target exists. It does not return customer message content and cannot push to CoreBridge.

get_rfq_review_context

ChatGPT
Reads the normalized V2 review state for customer, commercial-document, bundle, and every line-item blocker. Candidate products are hydrated with catalog evidence and exact versions. When coreBridgePushAllowed is true, present the complete final RFQ summary and obtain explicit operator approval before using push_rfq_to_corebridge with the returned pushTarget unchanged.

get_rfq_triage_context

ChatGPT
Compatibility alias for get_rfq_review_context. Reads the same normalized V2 review state and is read-only. New integrations should use get_rfq_review_context.

get_v2_quickproduct

ChatGPT
Returns one active QuickProduct and one bounded page of its nested parts, dimensions, material fields, restrictions, price provenance, and versions from B2 Portal's synchronized V2 catalog. Continue with nextPartCursor until it is null. Use only an ID returned by a catalog or RFQ review tool.

list_v2_quickproducts

ChatGPT
Lists one bounded page of active QuickProducts from B2 Portal's synchronized CoreBridge V2 catalog. Continue with nextCursor until it is null, then use get_v2_quickproduct for complete parts. Cursors are tied to this connection, location, page size, and catalog generation.

prepare_email_forwarding

ChatGPT
Creates a 15-minute, one-time handoff marker and returns the exact B2 Portal forwarding address. Use this when a connected email client will forward an original customer email with its original attachments. Do not use this tool for standalone chat attachments, uploaded files, pasted notes, or call summaries; it is not an upload mechanism. The marker is single-use. Never paste the marker into logs or reuse it.

prepare_rfq_attachment_upload

ChatGPT
Creates a retry-safe, short-lived, tenant-scoped upload session for one standalone chat attachment or other PDF, image, Word, or PowerPoint file that is not being forwarded as an original email. Use one stable idempotencyKey for that exact file preparation. The file bytes are transferred outside MCP JSON; never encode them into MCP JSON. The response includes a signed-in upload page, certified-adapter multipart fields, and an attachment reference; a signed-in operator completes the upload page, and only a certified adapter transfers through the multipart fields. Reuse the same requestId for up to five files and create_rfq_from_notes, and pass each returned attachment object unchanged.

push_rfq_to_corebridge

ChatGPT
Creates the CoreBridge estimate for one exact, current B2 Portal RFQ after the operator explicitly approves the final customer, location, QuickProducts, custom lines and prices, exclusions, and any unpriced custom lines. Read get_rfq_review_context immediately before approval and pass its pushTarget unchanged. Any subsequent RFQ change, unresolved blocker, missing corebridge:push scope, unauthorized location, concurrent or prior push, or uncertain provider state fails closed. Never retry REQUIRES_RECONCILIATION automatically.

search_accounts

ChatGPT
Searches customer accounts in one authorized CoreBridge location and returns a bounded page of candidates with identity evidence. The response includes a continuation cursor when more results exist; reuse it with the same location, query, and limit. Use a returned account ID only when the user identifies that account or exactly one result is unambiguous; multiple candidates remain unresolved. It does not choose or modify an account.

search_contacts

ChatGPT
Lists or searches contacts beneath one exact customer account in an authorized CoreBridge location. The response includes a continuation cursor when more contacts exist; reuse it with the same location, account, query, and limit. Use a contact only when the user supplied it or one exact email/phone match is unambiguous; otherwise leave customerSelection unset for RFQ intake. It does not modify the account.

search_rfq_line_quickproducts

ChatGPT
Ranks active V2 QuickProducts against one exact RFQ line using B2 Portal's existing matcher. Query text filters product visibility; confidence always measures the RFQ line against the QuickProduct. Read get_rfq_review_context first and pass its exact decision ID and version.

search_v2_catalog

ChatGPT
Searches B2 Portal's tenant-scoped local CoreBridge V2 QuickProduct catalog. Returns product parts, dimensions, material and finish data, pricing only when known, account restrictions, and catalog freshness. It never calls or changes CoreBridge.

apply_rfq_draft_actions

Claude

create_rfq_from_notes

Claude

get_intake_context

Claude

get_rfq_customer_resolution

Claude

get_rfq_intake_status

Claude

get_rfq_review_context

Claude

get_rfq_triage_context

Claude

get_v2_quickproduct

Claude

list_v2_quickproducts

Claude

prepare_email_forwarding

Claude

prepare_rfq_attachment_upload

Claude

push_rfq_to_corebridge

Claude

search_accounts

Claude

search_contacts

Claude

search_rfq_line_quickproducts

Claude

search_v2_catalog

Claude

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

App Stats

32

Tools

3

Prompts

ChatGPT, Claude

Platforms

Category

CRM Records

Works with

ChatGPT
Claude

Data refreshed daily