Skip to main content

MCP Technical Documentation

1. Overview

The Shine MCP server connects your AI assistant directly to your Shine invoicing and accounting data — so you can look up invoices, check what customers owe you, and draft new invoices and quotes without leaving the conversation.

Quick facts

Endpoint

mcp.invoicing-accounting.shine.co/mcp

Transport

Streamable HTTP (remote, hosted — nothing to install)

Authentication

OAuth 2.1 with PKCE — added as a custom connector

Data access

Read, plus creating and editing drafts

Market

FR, NL, and DE

💡 What the assistant can do today, in plain terms

It can look things up across your invoices, quotes, credit notes, customers, products and accounts.

It can prepare work for you — drafting an invoice, a quote or a credit note, adding a customer, updating a price. Anything it prepares stays a draft until you review it and act on it yourself in Shine.

It can't send, approve or book anything. Those steps are yours.

We're working on letting the assistant handle more of the final steps — sending, approving, marking as paid — as well as richer insight views.


2. Supported clients

The Shine MCP server works with any MCP-compatible AI assistant. Claude is the client we test against and recommend — it has the smoothest setup, and it's what our support team can help you with.

Client

Setup

Claude (Web, Desktop, Mobile, Cowork)

Custom connector — paste a URL

Claude Code

One terminal command

Cursor

JSON config block

ChatGPT

Custom connector (Developer Mode / Plus or Pro)

Any other MCP-compatible client

Server URL + OAuth


3. Connect your assistant

Connecting takes two things: the server URL and sign-in in your browser.

Server URL

https://mcp.invoicing-accounting.shine.co/mcp

Transport

Streamable HTTP (remote — nothing to install)

Authentication

OAuth 2.1 + PKCE

On first use, your client opens a Shine sign-in page. You sign in, and approve the connection. Your client is now connected and is ready to use. The connection will expire after 30 days and you will need to sign-in again.

Claude (Web, Desktop, Mobile)

  1. Go to Customize → Connectors → Add custom connector.

  1. Fill in:

    • Name: Shine

    • URL: https://mcp.invoicing-accounting.shine.co/mcp

  2. Click Continue.

  1. Click Add

  2. Sign in through the Shine page that opens in your browser and approve the requested permissions.

    1. Accept that Claude get’s access to Shine


      ​

    2. Sign in with the same login as for your Shine account

  3. You will now be redirected back to Claude and you are ready to start using Shine MCP

  4. You can also find the Shine MCP settings and control the access to the individual tools

    1. Go to Customize and Connectors

  1. Click on Shine connector and you will see all tools

ChatGPT

Start by enabling developer mode:

  1. Go to Settings → Security & login → Developer mode

  1. Use toggle to enable developer mode

Add the custom connector

  1. Go to Plugins in the main menu→ Click the (+) in the top right corner

  1. New plugin modal opens. Fill in:

    • Name: Shine

    • Connection: https://mcp.invoicing-accounting.shine.co/mcp

    • Accept “I understand and want to continue”


    ​
    ​

  2. Click Create

  3. Authorise Shine — ChatGPT opens a pre-sign-in window.

    1. Click “Sign in with Shine Connector”

    1. Accept that Chatgpt get’s access to Shine

    b. Sign in with the same login as for your Shine account

  4. You will now be redirected back to Chatgpt and you are ready to start using Shine MCP

Claude Code

  1. In your terminal, add the server:

claude mcp add --transport http shine <https://mcp.invoicing-accounting.shine.co/mcp>
  1. Launch Claude, type /mcp, choose shine → Authenticate, and sign in through your browser. You should then see ✔ Connected.

Cursor

  1. Open Settings → Tools & MCP→ Add custom MCP

  1. Add this block:

{   "mcpServers": {     "shine": {       "url": "<https://mcp.invoicing-accounting.shine.co/mcp>"     }   } }
  1. Save, then sign in via the browser and approve the permissions.

Test it

Once connected, try:

  • “List all the tool for Shine MCP”

Or real questions like:

  • "Show me my unpaid invoices"

  • "Who owes me money right now?"

  • "Draft an invoice for Acme for 10 hours at 1,200"


4. Authentication, access & what you're connecting to

Connecting uses OAuth 2.1 with PKCE. You sign in with your existing Shine login — there's no API key or password to copy, paste or store anywhere.
​

You only ever grant access to what you can already see

The assistant acts as you, not as an administrator or a service account. It inherits your exact Shine permissions:

  • If you can't see something in Shine, the assistant can't see it either.

  • If you can't change something in Shine, the assistant can't change it either.

  • It can never reach another company's data, or data belonging to a colleague whose access you don't have.

Who can connect

Anyone with access to your Shine organisation can connect the MCP server themselves — what they can do through it is bounded by their own permission level, same as anywhere else in Shine.

In practice, we recommend the business owner connects first. Most AI clients, Claude included, support only one active MCP connection at a time, and it has to be authorised by the person setting it up — so getting the owner connected first avoids confusion if several people on the team want to use it.

What you're granting today

  • Read — your invoices, quotes, credit notes, customers, products, and reference data such as VAT rates and your chart of accounts.

  • Prepare — create and edit drafts: invoices, quotes, credit notes, customers, products.

  • Never — send anything to a customer, approve or post anything to your ledger, mark anything as paid, move money, or file anything with an authority.

Fine-grained control over individual tools

You don't have to grant everything at once. In Claude, for example, the Shine connector has its own settings page where individual tools can be switched on or off — if you'd rather the assistant only ever reads your data and never drafts anything, you can turn the drafting tools off there.
​

Reviewing and revoking access

You can disconnect at any time from your AI client — remove the Shine connector from its settings. That's currently the only way to revoke access; we don't yet offer a way to disconnect from Shine's own settings.

Revoking disconnects the assistant immediately. It doesn't affect any of your Shine data.

Who can use the MCP?

The MCP server is available only to customers on our paid plans: Start and Plus.

Things to understand before you connect

Connecting an AI assistant to your accounting data is genuinely useful, and it comes with trade-offs worth understanding. Please read this before you authorise the connection.
​

1. You're connecting a third-party service. The Shine MCP server is built and hosted by Shine, and acts as a controlled gateway between your assistant and your Shine account. The assistant itself, Claude, ChatGPT or another, is operated by a different company. Your use of it is governed by that company's terms and privacy policy, not ours.
​

2. Your data is shared with that company. When you ask your assistant something about your Shine account, we send the data needed to answer it through the connection. That data, including customer details, invoice amounts and financial figures, is then processed by your chosen AI provider.
​

3. That company may use your data for its own purposes. Once the data reaches your AI provider, they control it, not us. Read their terms and privacy policy before connecting, and check how they handle retention, storage location and access. In most cases, you can opt out so the company won't use your data for training.
​

4. We control and limit what the connection can do. We decide which actions are available through this connection, and we can restrict or revoke them at any time. Sensitive actions, sending documents, approving entries, moving money, filing returns, are deliberately not available. See section 7.
​

5. AI assistants make mistakes. Even when we return the correct data, your assistant may misread it, summarise it incorrectly, or produce an answer that sounds confident and is wrong. Responses are generated independently by your AI provider and are not reviewed by us. Check anything that matters against Shine directly before acting on it.
​

6. Anything the assistant drafts is your responsibility to review. Drafts it creates are real records in your Shine account. Review them before you approve or send.
​

7. Security depends partly on your AI account. If someone gains access to your AI assistant account, or your AI provider has a breach, they could reach the Shine information shared through it. Use an assistant account you trust, and check its security settings before connecting.
​

8. Be careful about what else you connect. If you run the Shine connection alongside other MCP servers or tools you don't trust, a malicious one in the same session may be able to read data returned by ours. Only connect tools from sources you trust.
​

9. This isn't financial, accounting, tax or legal advice. Information you get through this connection is not advice or a recommendation from Shine, and doesn't replace review by a qualified professional. You chose your assistant independently, and decisions you make based on its answers are yours.
​

10. You're responsible for how the connection is used. That includes choosing the assistant, deciding whether to connect at all, and making sure anyone using it on your organisation's behalf is authorised to see the data involved.


5. Tool reference

Below is everything the assistant can do today. Tools marked Coming later are not available yet — they're listed so it's clear where the boundary sits.

Invoices

Tool

What it does

Example

invoicing_search_invoices

Lists drafts and approved invoices, filterable by status, customer, date, number and search text

"Show me all overdue invoices"

invoicing_get_invoice

Returns full details of one approved invoice, including line items. Drafts are not supported

"Show me invoice #1042"

invoicing_get_invoice_summary

Returns net, tax, gross and payment status of a single invoice, not overall totals

"Show me the summary of invoice #1042"

invoicing_create_invoice_draft

Creates a draft invoice, or one from an existing quote with quote_id

"Create an invoice for Acme, 10 hours at 1,200"

invoicing_edit_invoice_draft

Replaces a draft invoice's contact, dates and lines; all fields required

"Change the due date on invoice #1042 to next Friday"

Quotes

Tool

What it does

Example

invoicing_search_quotes

Lists drafts and approved quotes, filterable by status, customer, date, number and search text

"Show me all accepted quotes"

invoicing_get_quote

Returns full details of one approved quote, including line items. Drafts are not supported

"Show me the quote for Acme"

invoicing_get_quote_summary

Returns net, tax, gross and status of a single quote, not pipeline totals

"Show me the summary of the Nielsen quote"

invoicing_create_quote_draft

Creates a draft quote, with optional title, description and footer text

"Draft a quote for Nielsen — 40 hours design at 950"

invoicing_edit_quote_draft

Replaces a draft quote's contact, dates and lines; all fields required

"Add 10 hours of support to the Nielsen quote"

Credit notes

Tool

What it does

Example

invoicing_search_credit_notes

Lists approved credit notes only; drafts cannot be listed

"List all credit notes this year"

invoicing_get_credit_note

Returns full details of one approved credit note, including the invoice it credits

"Show me credit note CN-042"

invoicing_create_credit_note_draft

Creates a draft credit note; approved_invoice_id required, keep the returned draft id

"Issue a credit note against invoice #1042"

invoicing_edit_credit_note_draft

Updates a draft credit note; needs the draft id, as drafts cannot be listed

"Change the amount on CN-042"

Customers

Tool

What it does

Example

customer_list_contacts

Lists customers with address, phone and email; archived ones optional

"List all my customers"

customer_find_contact

Searches customers by name, email, phone or registration number

"Find the contact for Acme ApS"

customer_create_contact

Adds a company or person customer, with address, VAT number and invoicing language

"New client — Bjerg Consulting, SIRET 12345678"

customer_edit_contact

Updates name, address, phone, country, registration/VAT number, language or email

"Update Acme's billing address"

Products

Tool

What it does

Example

invoicing_list_products

Lists products with price and VAT rate, searchable by number or name

"What's on my price list?"

invoicing_create_product

Adds a goods or services product with unit, net price and VAT rate

"Add Consulting at 1,500 per hour"

invoicing_edit_product

Updates name, type, unit, net price, VAT rate or description

"Change Web Development to 2,000"

Bills (supplier invoices)

Tool

What it does

Example

expenses_list_bills

Lists supplier bills, filterable by state, supplier, date range and paid status

"What bills are due this week?"

expenses_get_bill

Returns full details of one supplier bill, including line items

"Show me the bill from TDC last week"

expenses_get_bill_summary

Returns bill counts and amounts by state and payment status for a fiscal year

"How many bills are unpaid this fiscal year?"

expenses_create_bill_draft

Creates a draft bill, with expense account and tax rate per line, and attachments

"Record a bill from Acme for 5,000"

expenses_edit_bill_draft

Updates a draft bill's supplier, dates, invoice number, lines or attachments

"Update the due date on the TDC bill"

Attachments

Tool

What it does

Example

invoicing_list_unhandled_attachments

Lists uploaded receipts not yet linked to a bill, searchable and sortable

"What receipts are still unprocessed?"

invoicing_get_attachment

Returns one receipt with the data Shine read from it, to prefill a bill

"Show me the receipt I uploaded yesterday"

invoicing_get_attachment_summary

Returns counts of total, unhandled, handled and duplicate attachments

"How many receipts am I behind on?"

invoicing_upload_attachment

Shows a file picker directly in the chat so you can upload a receipt

"Here's a receipt"

invoicing_get_upload_command

Returns a curl upload command for clients (Claude Desktop, ChatGPT..) that cannot show the file picker

"Give me the command to upload a receipt"

Bank reconciliation

Tool

What it does

Example

bank_list_bank_lines

Lists bank lines of one bank account, unreconciled by default, with filters

"What still needs reconciling?"

bank_get_bank_lines_summary

Returns count and total of unreconciled lines for one bank account

"How far behind am I on reconciliation?"

bank_list_bank_line_matches

Lists reconciliation matches of one bank account, filterable by approval status

"Show me matches waiting for review"

Transactions & ledger

Tool

What it does

Example

accounting_list_transactions

Lists ledger transactions page by page; no period filter

"Show me the latest transactions"

accounting_get_transaction

Returns one ledger transaction with its debit and credit postings

"Show me transaction T-9821"

accounting_list_postings

Lists ledger postings, filterable by account, transaction, dates and voided status

"Show ledger postings for this quarter"

Daybook (manual journal entries)

Tool

What it does

Example

accounting_list_daybooks

Lists the journals set up for the organisation

"What journals do I have?"

accounting_list_daybook_transactions

Lists journal entries, filterable by journal, state and date range

"Show me recent manual entries"

accounting_get_daybook_transaction

Returns full details of one journal entry

"Show me the details of this journal entry"

Reference data

Tool

What it does

Example

invoicing_list_vat_rate_rules

Lists VAT rate rules, to use on products and invoice lines

"What VAT rates apply to my invoices?"

expenses_list_bill_tax_rate_ids

Lists tax rate ids to use on bill lines, filterable by rate

"Which tax rate should I use on a bill line?"

setting_list_accounts

Lists the chart of accounts, with a bank accounts filter and an archived option

"Show me the chart of accounts"

setting_list_account_groups

Lists the top-level groupings of the chart of accounts

"How is my chart of accounts structured?"

setting_list_currencies

Lists currencies with their exchange rate to the base currency

"Which currencies can I invoice in?"


6. What you can actually get done

What the tools add up to, organised by what you're trying to do. Each row is something you can ask today.

💰 Get paid

"I want the money I'm owed, without chasing it all evening."

Ask

You get

"Who owes me money?"

Unpaid invoices, worst payers first

"Anything overdue 30+ days?"

The list, with amounts

"Invoice Acme, 10 hours at 1,200"

A draft, ready for you to send

"Draft follow-ups for overdue clients"

Drafts in your email — you send

📈 Know where you stand

"Am I doing okay, or just staying busy?"

Ask

You get

"Is revenue growing?"

The trend, month by month

"Who are my top 5 clients?"

Ranked, with concentration risk

"Which services earn me most?"

Revenue by product

"What are my open quotes worth?"

Pipeline total

📚 Keep the books in order

"No backlog waiting for me at month-end."

Ask

You get

"What's due this week?"

Bills due, and what's unapproved

"Did I pay this supplier already?"

Their past bills, flagged for duplicates

"How far behind am I?"

Count of unreconciled bank lines

"Anything odd this month?"

Expense outliers vs. previous months

"Here's a receipt"

Uploaded, ready to attach

🤝 Work with your accountant

"No full day spent pulling it together."

Ask

You get

"Summarise the month"

A written summary, saved where you want it

"Draft month-end to my accountant"

An email draft — you send

"Export this year's invoices"

A spreadsheet

"What's missing?"

Gaps to close before handover

🔗 Connect Shine to everything else

One request, several systems — because your assistant talks to your other tools too.

Ask

You get

"New client from my CRM"

Contact created, first invoice drafted

"Process the invoice in my inbox"

Receipt uploaded, bill drafted

"Post invoice status to our channel"

A message drafted for your team


7. What it does not do

This first beta version doesn’t support any of these things, but we’re working on adding more capabilities that could unlock some of them if you’re interested in exploring further automation options.

  • It doesn't send anything. Not invoices, not quotes, not credit notes, not payment reminders. It can prepare them; you send them.

  • It doesn't approve or post anything. Approving an invoice, credit note or bill, marking a quote as accepted or declined, posting a journal entry, or approving a bank reconciliation match are all yours to do.

  • It doesn't record payments. Marking an invoice paid, matching or unmatching a bank line to an invoice, or generating a payment link, isn't available.

  • It can't void or delete anything. Voiding an invoice or a bill isn't available — cancel those directly in Shine.

  • It can't turn a quote into an invoice automatically. Turning an accepted quote into a draft invoice isn't available yet — create the invoice directly.

  • It can't manage your organisation or bank connections. Inviting a colleague or accountant, and listing your connected bank accounts, aren't available yet.

  • It never files anything with an authority. No VAT declarations, no tax submissions, no e-invoicing filings.

  • It doesn't produce financial reports yet. No profit & loss, balance sheet, cash-flow statement or aged receivables.

  • It doesn't forecast. It won't tell you your runway or predict a cash crunch. Where it doesn't have the data to answer accurately, it will say so rather than estimate — we'd rather it tell you it doesn't know than give you a number you might act on.

  • It can't exceed your own access. Anything you can't see or do in Shine, it can't either.


8. Troubleshooting

Connecting

The connector won't add, or I get "couldn't connect to server"?

  • Check the URL exactly: https://mcp.invoicing-accounting.shine.co/mcp — no trailing slash, no extra spaces, and with the /mcp path.

  • On Team and Enterprise plans, an admin may have disabled custom connectors. Ask your workspace admin.

The sign-in page opens, but access is denied or the connection fails?

  • The Shine MCP is not available on the Free plan. It is available on the Start and Plus plans, and during your trial period.

  • If you're on the Free plan, the connection will be rejected. Upgrade to a paid plan to connect.

  • Sign in with the same login you use for your Shine account.

It connected to the wrong company or user?

  • Disconnect the Shine connector in your AI client, reconnect, and sign in with the right user. The assistant always acts as the user who signed in.

My client says another MCP connection is already active?

  • Most AI clients support only one active connection. Disconnect the current one first, then connect Shine.

It worked before, but now it doesn't

It says authentication has expired, or tools suddenly fail?

  • The connection expires after 30 days. Re-authenticate in the connector settings, or in Claude Code type /mcp, choose shine → Authenticate, and sign in again.

It stopped working after my trial ended or I moved to the Free plan?

  • You can use the Shine MCP during your trial. If you then switch to the Free plan, it stops working. Upgrade to Start and Plus to use it again, then reconnect if asked to sign in.

I get permission errors after my Shine plan or permissions changed?

  • Disconnect and reconnect to get a fresh grant.

Tools

New tools have been released but I don’t see them?

  • Fully quit Claude Desktop, then reopen it. You can also ask it to list the newly implemented tools.

I don’t see some advertised tools — why?

  • You can only access the tools you have permission to use. If you can’t see customers in the web app, you won’t have access to the customer-listing tool.

The assistant doesn't use Shine, or uses another connector instead?

  • Name Shine in your request, e.g. "In Shine, show me my unpaid invoices".

  • Check in your connector settings that the Shine tools are switched on. Individual tools can be turned off.

Reading works but drafting doesn't (or the other way around)?

  • Check the per-tool switches in your connector settings. Drafting tools can be off while read tools are on.

The assistant says it can't send, approve, mark as paid or void something?

  • That is by design. See "What it does not do" above — do these steps directly in Shine.

The data looks wrong

The tool didn’t return some of my data (invoices, estimates, customers, items…)?

  • You can only access data you have permission to see in the Shine web app. If something is deleted or disabled and doesn’t appear there, you won’t be able to access it here either.

I get empty results?

  • Check the period and filters in your request (e.g. "this year", status, customer name spelling). Ask the assistant which filters it used.

The numbers don't match what I see in Shine?

  • Check the period, currency and whether amounts include VAT.

  • Ask the assistant to list the underlying invoices or bills, and check them in Shine before acting on the figures.

I can't find the draft the assistant created?

  • Drafts are real records. Look under your draft invoices, credit notes or bills in Shine, and check you're in the right organisation.

A receipt upload fails?

  • Retry the upload, and check the file is a supported type and not too large. Uploaded receipts appear as unhandled attachments, not as bills, until you turn them into one.

Still stuck?

Contact Shine support and include: your AI client and version, the exact error message, the approximate time it happened, and your Shine organisation. Don't send screenshots showing sensitive customer or financial data.

Did this answer your question?