MCP 서버

invoicevista

com.invoicevista/invoicevista
비즈니스 및 운영 금융 및 투자 공개 · 연결 가능 MCP 2025-11-25

이 MCP로 할 수 있는 일

Provides business and product metadata plus aggregate invoice, revenue, receivables, quote-pipeline, subscription, and payment summaries.

get_business
Get business details
Use this when someone asks about one business's invoicing setup, such as its currency, country, language or timezone. Returns the business's name, currency, country code, language and timezone, or not-found. Not for revenue or unpaid invoices.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['businessId'], 'properties': {'businessId': {'type': 'string', 'pattern': '^[0-9a-f]{24}$', 'description': 'Business id: 24 lowercase hexadecimal characters'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'business'], 'properties': {'status': {'enum': ['found', 'not-found'], 'type': 'string'}, 'business': {'anyOf': [{'type': 'object', 'required': ['id', 'name', 'currency', 'countryCode', 'locale', 'timezone'], 'properties': {'id': {'type': 'string', 'pattern': '^[0-9a-f]{24}$'}, 'name': {'type': 'string', 'maxLength': 200}, 'locale': {'anyOf': [{'type': 'string', 'maxLength': 35}, {'type': 'null'}]}, 'currency': {'anyOf': [{'type': 'string', 'pattern': '^[A-Z]{3}$'}, {'type': 'null'}], 'description': 'ISO 4217 alpha-3 business currency, or null when unset'}, 'timezone': {'anyOf': [{'type': 'string', 'maxLength': 64}, {'type': 'null'}]}, 'countryCode': {'anyOf': [{'type': 'string', 'pattern': '^[A-Z]{2}$'}, {'type': 'null'}]}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Null when not found. Contact, legal-entity, address, banking and integration fields are omitted.'}}, 'additionalProperties': False}
get_quote_pipeline_summary
Summarize quotes and acceptance
Use this when someone asks how many quotes or estimates they sent, what they were worth, or how many were accepted or rejected. Returns quote count, total value, counts by status and an acceptance rate; defaults to the last 90 days, at most 366, skipping drafts and counting at most 500 quotes. Not for a single quote.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['businessId'], 'properties': {'endDate': {'$ref': '#/properties/startDate', 'description': 'Last UTC day to include, YYYY-MM-DD, at most 366 days after startDate; defaults to today'}, 'startDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'First UTC day to include, YYYY-MM-DD; defaults to 89 days before endDate (a 90-day window)'}, 'businessId': {'type': 'string', 'pattern': '^[0-9a-f]{24}$', 'description': 'Business id: 24 lowercase hexadecimal characters'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['range', 'currency', 'quoteCount', 'quoteCountIsLowerBound', 'quotedAmount', 'amountMissingCount', 'acceptanceRatePercent', 'statusBreakdown'], 'properties': {'range': {'type': 'object', 'required': ['startDate', 'endDate'], 'properties': {'endDate': {'$ref': '#/properties/range/properties/startDate'}, 'startDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'UTC calendar date in YYYY-MM-DD format'}}, 'additionalProperties': False}, 'currency': {'anyOf': [{'type': 'string', 'pattern': '^[A-Z]{3}$'}, {'type': 'null'}], 'description': 'ISO 4217 alpha-3 business currency, or null when unset'}, 'quoteCount': {'type': 'integer', 'minimum': 0}, 'quotedAmount': {'type': 'number'}, 'statusBreakdown': {'type': 'array', 'items': {'type': 'object', 'required': ['status', 'count', 'amount', 'amountMissingCount'], 'properties': {'count': {'type': 'integer', 'minimum': 0}, 'amount': {'type': 'number'}, 'status': {'enum': ['DRAFT', 'PENDING', 'REJECTED', 'APPROVED', 'UNKNOWN', 'OTHER'], 'type': 'string'}, 'amountMissingCount': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'maxItems': 6, 'description': 'Non-draft quotes issued in the range, per status, with count and amount. Quote and customer identifiers, contacts, tax ids, addresses, notes, line descriptions and free text are never returned.'}, 'amountMissingCount': {'type': 'integer', 'minimum': 0}, 'acceptanceRatePercent': {'anyOf': [{'type': 'number', 'minimum': 0}, {'type': 'null'}], 'description': 'Approved quotes as a percentage of approved plus rejected; null when the count is a lower bound or none was decided'}, 'quoteCountIsLowerBound': {'type': 'boolean'}}, 'additionalProperties': False}
get_receivables_summary
Check unpaid and overdue invoices
Use this when someone asks how much customers owe, what is unpaid or overdue, or how old unpaid invoices are. Returns open invoice count and amount, the invoices marked overdue, and age buckets by days past due, from the newest 500 invoices; partially paid ones are counted but left out of amounts. Not for chasing or charging a customer.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['businessId'], 'properties': {'businessId': {'type': 'string', 'pattern': '^[0-9a-f]{24}$', 'description': 'Business id: 24 lowercase hexadecimal characters'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['asOfDate', 'currency', 'sourceInvoiceCount', 'sourceInvoiceCountIsLowerBound', 'openInvoiceCount', 'outstandingAmount', 'amountMissingCount', 'partiallyPaidCountExcludedFromAmount', 'overdueInvoiceCount', 'overdueAmount', 'aging'], 'properties': {'aging': {'type': 'array', 'items': {'type': 'object', 'required': ['bucket', 'count', 'amount', 'amountMissingCount'], 'properties': {'count': {'type': 'integer', 'minimum': 0}, 'amount': {'type': 'number'}, 'bucket': {'enum': ['not-due', '0-30', '31-60', '61-90', '90+'], 'type': 'string'}, 'amountMissingCount': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'maxItems': 5, 'description': 'Fully owed open invoices by days past their due date (issue date when none) as of asOfDate. Invoice and customer identifiers, exact dates, contacts, tax ids, addresses, notes, line text, bank or card data, processor data and payment actions are never returned.'}, 'asOfDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'UTC calendar date in YYYY-MM-DD format'}, 'currency': {'anyOf': [{'type': 'string', 'pattern': '^[A-Z]{3}$'}, {'type': 'null'}], 'description': 'ISO 4217 alpha-3 business currency, or null when unset'}, 'overdueAmount': {'type': 'number'}, 'openInvoiceCount': {'type': 'integer', 'minimum': 0}, 'outstandingAmount': {'type': 'number'}, 'amountMissingCount': {'type': 'integer', 'minimum': 0}, 'sourceInvoiceCount': {'type': 'integer', 'minimum': 0}, 'overdueInvoiceCount': {'type': 'integer', 'minimum': 0, 'description': 'Fully owed invoices whose status is OVERDUE; a PENDING invoice past its due date is counted only in aging'}, 'sourceInvoiceCountIsLowerBound': {'type': 'boolean'}, 'partiallyPaidCountExcludedFromAmount': {'type': 'integer', 'minimum': 0, 'description': 'Open partially paid invoices left out of every amount because their remaining balance is not stored'}}, 'additionalProperties': False}
get_revenue_summary
Summarize invoiced and paid amounts
Use this when someone asks how much they invoiced or were paid in a period, like last month. Returns invoice and payment counts and totals in the business currency, invoices by status and a collection rate; defaults to the last 90 days, at most 366, skipping drafts and counting at most 500 documents. Not for a single invoice or customer.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['businessId'], 'properties': {'endDate': {'$ref': '#/properties/startDate', 'description': 'Last UTC day to include, YYYY-MM-DD, at most 366 days after startDate; defaults to today'}, 'startDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'First UTC day to include, YYYY-MM-DD; defaults to 89 days before endDate (a 90-day window)'}, 'businessId': {'type': 'string', 'pattern': '^[0-9a-f]{24}$', 'description': 'Business id: 24 lowercase hexadecimal characters'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['range', 'currency', 'invoiceCount', 'invoiceCountIsLowerBound', 'invoicedAmount', 'invoiceAmountMissingCount', 'invoiceStatusBreakdown', 'paymentCount', 'paymentCountIsLowerBound', 'collectedAmount', 'paymentAmountMissingCount', 'collectionRatePercent'], 'properties': {'range': {'type': 'object', 'required': ['startDate', 'endDate'], 'properties': {'endDate': {'$ref': '#/properties/range/properties/startDate'}, 'startDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'UTC calendar date in YYYY-MM-DD format'}}, 'additionalProperties': False}, 'currency': {'anyOf': [{'type': 'string', 'pattern': '^[A-Z]{3}$'}, {'type': 'null'}], 'description': 'ISO 4217 alpha-3 business currency, or null when unset'}, 'invoiceCount': {'type': 'integer', 'minimum': 0}, 'paymentCount': {'type': 'integer', 'minimum': 0}, 'invoicedAmount': {'type': 'number'}, 'collectedAmount': {'type': 'number', 'description': 'Sum of the payments recorded in the range, whatever their status; not proof of bank settlement'}, 'collectionRatePercent': {'type': ['number', 'null'], 'description': 'collectedAmount as a percentage of invoicedAmount; null when a total is incomplete or nothing was invoiced'}, 'invoiceStatusBreakdown': {'type': 'array', 'items': {'type': 'object', 'required': ['status', 'count', 'amount', 'amountMissingCount'], 'properties': {'count': {'type': 'integer', 'minimum': 0}, 'amount': {'type': 'number'}, 'status': {'enum': ['DRAFT', 'PENDING', 'PARTIALLY_PAID', 'PAID', 'OVERDUE', 'REFUNDED', 'UNCOLLECTIBLE', 'UNKNOWN', 'OTHER'], 'type': 'string'}, 'amountMissingCount': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'maxItems': 9, 'description': 'Non-draft invoices issued in the range, per status, with count and amount. Aggregates only: invoice, payment, customer, line-item, processor, card, bank, note and identifier data are never returned.'}, 'invoiceCountIsLowerBound': {'type': 'boolean'}, 'paymentCountIsLowerBound': {'type': 'boolean'}, 'invoiceAmountMissingCount': {'type': 'integer', 'minimum': 0}, 'paymentAmountMissingCount': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}
get_subscription
Check InvoiceVista plan and limits
Use this when someone asks which InvoiceVista plan a business is on, or how many customers, invoices, reminders or users it allows. Returns the active or past-due plan's name, status, billing frequency and limits, or the Free plan's defaults when there is none. Not for customer invoices or payments.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['businessId'], 'properties': {'businessId': {'type': 'string', 'pattern': '^[0-9a-f]{24}$', 'description': 'Business id: 24 lowercase hexadecimal characters'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'subscription'], 'properties': {'status': {'enum': ['found', 'not-found'], 'type': 'string'}, 'subscription': {'anyOf': [{'type': 'object', 'required': ['status', 'productName', 'billingFrequency', 'maxNumberOfCustomers', 'maxNumberOfInvoices', 'maxNumberOfReminders', 'maxNumberOfUsers'], 'properties': {'status': {'anyOf': [{'enum': ['ACTIVE', 'PAST_DUE', 'CANCELED'], 'type': 'string'}, {'type': 'null'}]}, 'productName': {'anyOf': [{'type': 'string', 'maxLength': 200}, {'type': 'null'}]}, 'billingFrequency': {'anyOf': [{'enum': ['MONTHLY', 'YEARLY'], 'type': 'string'}, {'type': 'null'}]}, 'maxNumberOfUsers': {'type': ['number', 'null']}, 'maxNumberOfInvoices': {'type': ['number', 'null']}, 'maxNumberOfCustomers': {'type': ['number', 'null']}, 'maxNumberOfReminders': {'type': ['number', 'null']}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Plan entitlements; limits are caps, not usage. Payment-processor identifiers and credentials are never returned.'}}, 'additionalProperties': False}
list_businesses
List your businesses
Use this when someone asks which businesses they invoice from in InvoiceVista, or a business's id is needed. Returns each business's id, name, currency, country, language and timezone, 25 per page by default (no addresses or bank details). Not for listing customers.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'description': 'Businesses per page, from 1 to 100; defaults to 25', 'exclusiveMinimum': 0}, 'cursor': {'type': 'string', 'maxLength': 4096, 'description': 'The nextCursor of the previous page of this listing; absent for the first page'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['items', 'hasMore'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'currency', 'countryCode', 'locale', 'timezone'], 'properties': {'id': {'type': 'string', 'pattern': '^[0-9a-f]{24}$'}, 'name': {'type': 'string', 'maxLength': 200}, 'locale': {'anyOf': [{'type': 'string', 'maxLength': 35}, {'type': 'null'}]}, 'currency': {'anyOf': [{'type': 'string', 'pattern': '^[A-Z]{3}$'}, {'type': 'null'}], 'description': 'ISO 4217 alpha-3 business currency, or null when unset'}, 'timezone': {'anyOf': [{'type': 'string', 'maxLength': 64}, {'type': 'null'}]}, 'countryCode': {'anyOf': [{'type': 'string', 'pattern': '^[A-Z]{2}$'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'maxItems': 100, 'description': 'Businesses in the signed-in organization. Addresses, contact details, payment settings and secrets are omitted.'}, 'hasMore': {'type': 'boolean'}, 'nextCursor': {'type': 'string', 'maxLength': 4096, 'description': 'Cursor for the next page; absent on the last page'}}, 'additionalProperties': False}
list_products
List products and prices
Use this when someone asks what products or services a business sells or what it charges for them. Returns each catalog item's name, price and stored tax value, most recently edited first, 25 per page by default. Not for what a customer was invoiced.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['businessId'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'description': 'Products per page, from 1 to 100; defaults to 25', 'exclusiveMinimum': 0}, 'cursor': {'type': 'string', 'maxLength': 4096, 'description': 'The nextCursor of the previous page of this listing; absent for the first page'}, 'businessId': {'type': 'string', 'pattern': '^[0-9a-f]{24}$', 'description': 'Business id: 24 lowercase hexadecimal characters'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['items', 'hasMore'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'price', 'tax'], 'properties': {'tax': {'type': ['number', 'null']}, 'name': {'type': 'string', 'maxLength': 200}, 'price': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'maxItems': 100, 'description': "Catalog items, most recently edited first. price is in the business currency; tax is the product's stored tax value, null when unset. Record identifiers, line-item text and customer data are excluded."}, 'hasMore': {'type': 'boolean'}, 'nextCursor': {'type': 'string', 'maxLength': 4096, 'description': 'Cursor for the next page; absent on the last page'}}, 'additionalProperties': False}
show_business_overview
Show business overview
Use this when someone wants a quick overview or dashboard of one business in InvoiceVista. Returns an overview card with the business details, counts of customers, invoices, payments and quotes with status mixes (each capped at 100), and up to 12 catalog products (no customer or invoice details). Not for revenue over a period.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['businessId'], 'properties': {'businessId': {'type': 'string', 'pattern': '^[0-9a-f]{24}$', 'description': 'Business id: 24 lowercase hexadecimal characters'}}}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['business', 'customerCount', 'customerCountIsLowerBound', 'invoiceCount', 'invoiceCountIsLowerBound', 'invoiceStatusBreakdown', 'paymentCount', 'paymentCountIsLowerBound', 'quoteCount', 'quoteCountIsLowerBound', 'quoteStatusBreakdown', 'productCount', 'productCountIsLowerBound', 'products'], 'properties': {'business': {'anyOf': [{'type': 'object', 'required': ['id', 'name', 'currency', 'countryCode', 'defaultLocale', 'timezone'], 'properties': {'id': {'type': 'string', 'pattern': '^[0-9a-f]{24}$'}, 'name': {'type': 'string', 'maxLength': 200}, 'currency': {'anyOf': [{'type': 'string', 'pattern': '^[A-Z]{3}$'}, {'type': 'null'}]}, 'timezone': {'anyOf': [{'type': 'string', 'maxLength': 64}, {'type': 'null'}]}, 'countryCode': {'anyOf': [{'type': 'string', 'pattern': '^[A-Z]{2}$'}, {'type': 'null'}]}, 'defaultLocale': {'anyOf': [{'type': 'string', 'maxLength': 35}, {'type': 'null'}]}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Null when not found. Individual customer or financial records, identifiers, numbers, exact dates or amounts, contacts, tax ids, addresses, notes, line descriptions, PCI or bank data, processor data, credentials and payment actions are never returned.'}, 'products': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'price', 'tax'], 'properties': {'tax': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'name': {'type': 'string', 'maxLength': 200}, 'price': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'maxItems': 12}, 'quoteCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'invoiceCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'paymentCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'productCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'customerCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'quoteStatusBreakdown': {'type': 'array', 'items': {'type': 'object', 'required': ['status', 'count'], 'properties': {'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'status': {'enum': ['DRAFT', 'PENDING', 'REJECTED', 'APPROVED', 'OTHER'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 5}, 'invoiceStatusBreakdown': {'type': 'array', 'items': {'type': 'object', 'required': ['status', 'count'], 'properties': {'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'status': {'enum': ['DRAFT', 'PENDING', 'PARTIALLY_PAID', 'PAID', 'OVERDUE', 'REFUNDED', 'UNCOLLECTIBLE', 'OTHER'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 8}, 'quoteCountIsLowerBound': {'type': 'boolean'}, 'invoiceCountIsLowerBound': {'type': 'boolean'}, 'paymentCountIsLowerBound': {'type': 'boolean'}, 'productCountIsLowerBound': {'type': 'boolean'}, 'customerCountIsLowerBound': {'type': 'boolean'}}, 'additionalProperties': False}
변경됨
show_business_overview
2026년 10월 1일 2:42 AM
변경됨
get_subscription
2026년 10월 1일 2:42 AM
변경됨
list_products
2026년 10월 1일 2:42 AM
변경됨
get_quote_pipeline_summary
2026년 10월 1일 2:42 AM
변경됨
get_receivables_summary
2026년 10월 1일 2:42 AM
변경됨
get_revenue_summary
2026년 10월 1일 2:42 AM
변경됨
get_business
2026년 10월 1일 2:42 AM
변경됨
list_businesses
2026년 10월 1일 2:42 AM
추가됨
show_business_overview
2026년 9월 27일 2:40 AM
추가됨
get_subscription
2026년 9월 27일 2:40 AM
추가됨
list_products
2026년 9월 27일 2:40 AM
추가됨
get_quote_pipeline_summary
2026년 9월 27일 2:40 AM
추가됨
get_receivables_summary
2026년 9월 27일 2:40 AM
추가됨
get_revenue_summary
2026년 9월 27일 2:40 AM
추가됨
get_business
2026년 9월 27일 2:40 AM
추가됨
list_businesses
2026년 9월 27일 2:40 AM