src/ApplicationBundle/Modules/HoneybeeWeb/Resources/views/pages/ai_connector.html.twig line 1

Open in your IDE?
  1. {% include '@Application/inc/central_header.html.twig' %}
  2. {% include '@HoneybeeWeb/inc/_web_design_system.html.twig' %}
  3. {# ─── HoneyBee AI Connector (MCP) — public documentation ───────────────────────
  4.    Route honeybee_ai_connector, path /ai-connector. PUBLIC and unauthenticated.
  5.    ★ THIS IS THE DOCUMENTATION URL SUBMITTED TO ANTHROPIC'S CONNECTORS DIRECTORY.
  6.    The submission portal requires public setup + usage instructions; a listing with
  7.    none is rejected. It is written for two readers at once — a directory reviewer
  8.    checking what the connector can do, and a business owner about to connect it.
  9.    All styling lives in honeybee_web_assets/css/pages.css under `.hbc-*`, loaded
  10.    globally by central_header. ZERO inline style= attributes, no page-level <style>
  11.    block, per the CW1 consolidation. Colours/type come from the shared n-* tokens.
  12.    Every number below is derived from code, not from marketing:
  13.      · 39 reads              → McpProtocolCore::readManifest() over the ToolRegistry
  14.      · 31 propose-only writes → McpWriteSurface::writeManifest()
  15.      · 5 refused operations   → McpWriteSurface::refusedToolMap()
  16.      · money law              → Modules\Mcp\Support\McpMoneyCore (MCP-7)
  17.    If you change a count here, change it because the code changed.
  18.    --------------------------------------------------------------------------- #}
  19. <main id="hb-main">
  20.     {# ══ 1. HERO ══════════════════════════════════════════════════════════════ #}
  21.     <section class="hbc-hero">
  22.         <div class="n-wrap">
  23.             <div class="hbc-hero-inner">
  24.                 <span class="n-label">HoneyBee AI Connector</span>
  25.                 <h1 class="hbc-h1">Point Claude at your live business.</h1>
  26.                 <p class="hbc-sub">Read-only by default. Writes only as drafts a person approves.</p>
  27.                 <p class="hbc-lede">
  28.                     The HoneyBee connector is a remote <b>Model Context Protocol</b> server that lets Claude
  29.                     &mdash; or any MCP client &mdash; ask questions about your real HoneyBee ERP account: cash,
  30.                     invoices, stock, projects, approvals, payroll self-service. You connect it once, with your
  31.                     own HoneyBee login, and it answers from your own database with your own permissions.
  32.                 </p>
  33.                 <div class="hbc-actions">
  34.                     <a href="#connect" class="n-btn n-btn-primary">
  35.                         How to connect <i class="fa-solid fa-arrow-right" aria-hidden="true"></i>
  36.                     </a>
  37.                     <a href="#limits" class="n-btn n-btn-outline">What it cannot do</a>
  38.                 </div>
  39.             </div>
  40.         </div>
  41.     </section>
  42.     {# ══ 2. WHO IT IS FOR ═════════════════════════════════════════════════════ #}
  43.     <section class="n-sec-sm hbc-band">
  44.         <div class="n-wrap-sm">
  45.             <h2 class="n-h2">Who this is for</h2>
  46.             <p class="hbc-body">
  47.                 Anyone who already runs their company on HoneyBee ERP &mdash; EPC and engineering contractors,
  48.                 solar and energy operators, trading and services SMEs in Bangladesh, Singapore and Germany.
  49.                 It is meant for the people who ask the business questions: owners, finance and project leads,
  50.                 and the staff who just want their own payslip or leave balance without opening a screen.
  51.             </p>
  52.             <p class="hbc-body">
  53.                 You need an existing HoneyBee account. The connector adds no data of its own and creates no
  54.                 second copy of your records &mdash; it is a window onto the system you already have.
  55.             </p>
  56.         </div>
  57.     </section>
  58.     {# ══ 3. HOW TO CONNECT ════════════════════════════════════════════════════ #}
  59.     <section class="n-sec-sm" id="connect">
  60.         <div class="n-wrap-sm">
  61.             <span class="n-label">Setup</span>
  62.             <h2 class="n-h2">How to connect</h2>
  63.             <p class="hbc-body">
  64.                 Authentication is <b>OAuth 2.1 with PKCE</b>, with dynamic client registration, so there is no
  65.                 key to copy and no secret to store. You sign in to HoneyBee in your own browser, see exactly
  66.                 what the connection is asking for, and approve it there.
  67.             </p>
  68.             <ol class="hbc-steps">
  69.                 <li>
  70.                     <h3>Find your endpoint</h3>
  71.                     <p>
  72.                         In HoneyBee, open <b>Settings &rarr; AI Connection</b>. The page shows the exact server
  73.                         URL for your company. It is your own HoneyBee address with <code>/mcp</code> on the end
  74.                         &mdash; for example <code class="hbc-url">https://your-company.example/mcp</code>.
  75.                     </p>
  76.                     <p class="hbc-note">
  77.                         If you have several HoneyBee companies, <code class="hbc-url">/my/mcp</code> on the
  78.                         central address is a second, cross-company server that answers about all of them at
  79.                         once. It is read-only with no setting that changes that.
  80.                     </p>
  81.                 </li>
  82.                 <li>
  83.                     <h3>Add it as a connector</h3>
  84.                     <p>
  85.                         In Claude, go to <b>Settings &rarr; Connectors &rarr; Add custom connector</b> and paste
  86.                         that URL. Claude registers itself with the server automatically; you are not asked for a
  87.                         client id or a secret.
  88.                     </p>
  89.                 </li>
  90.                 <li>
  91.                     <h3>Sign in and consent</h3>
  92.                     <p>
  93.                         Your browser opens a HoneyBee sign-in page. After you sign in, a consent screen states
  94.                         in plain words what the connection will be able to do &mdash; and what it will never be
  95.                         able to do. It reflects your company's actual settings: if drafting is switched off for
  96.                         your company, the screen does not claim drafting.
  97.                     </p>
  98.                 </li>
  99.                 <li>
  100.                     <h3>Ask something</h3>
  101.                     <p>
  102.                         Try &ldquo;what is my cash position&rdquo;, &ldquo;which invoices are overdue&rdquo;, or
  103.                         &ldquo;what is waiting for my approval&rdquo;. Answers come from your live ledger, and
  104.                         when HoneyBee cannot stand behind a figure it says so instead of returning a number.
  105.                     </p>
  106.                 </li>
  107.             </ol>
  108.             <div class="hbc-callout">
  109.                 <h3>Revoking access</h3>
  110.                 <p>
  111.                     Every connected client is listed on the same <b>Settings &rarr; AI Connection</b> page with
  112.                     the person who authorised it and when. Revoking one there stops it immediately &mdash; the
  113.                     next call it makes is refused. Revoking does not require support, and it does not affect
  114.                     any other connection.
  115.                 </p>
  116.             </div>
  117.         </div>
  118.     </section>
  119.     {# ══ 4. WHAT IT CAN AND CANNOT DO — the differentiator ════════════════════ #}
  120.     <section class="hbc-limits" id="limits">
  121.         <div class="n-wrap-sm">
  122.             <span class="n-label">The limits are the feature</span>
  123.             <h2 class="n-h2">What it can do, and what it <em class="n-em">cannot</em>.</h2>
  124.             <p class="hbc-body">
  125.                 Most business connectors are shaped by what the API happened to expose. This one is shaped by
  126.                 what we are willing to let software do to a company's money. The boundaries below are enforced
  127.                 in code, on the server, at every request &mdash; not by prompting the model nicely.
  128.             </p>
  129.             <div class="hbc-rails">
  130.                 <article class="hbc-rail">
  131.                     <span class="hbc-rail-n" aria-hidden="true">01</span>
  132.                     <div>
  133.                         <h3>Read-only until you say otherwise.</h3>
  134.                         <p>
  135.                             Out of the box the connector exposes <b>39 tools that can only read</b>. Whether a
  136.                             tool can execute is decided by the risk class it declares in the tool registry, not
  137.                             by a list of names somebody maintains, so a new writing tool cannot appear on the
  138.                             read surface by being forgotten.
  139.                         </p>
  140.                     </div>
  141.                 </article>
  142.                 <article class="hbc-rail">
  143.                     <span class="hbc-rail-n" aria-hidden="true">02</span>
  144.                     <div>
  145.                         <h3>Writing is off by default, and even then it only drafts.</h3>
  146.                         <p>
  147.                             A company can switch on a second tier of <b>31 write tools</b>. Calling one of them
  148.                             creates nothing: it returns a preview of what <em>would</em> change plus a signed,
  149.                             single-use draft reference. The record does not exist until a person approves it.
  150.                         </p>
  151.                     </div>
  152.                 </article>
  153.                 <article class="hbc-rail">
  154.                     <span class="hbc-rail-n" aria-hidden="true">03</span>
  155.                     <div>
  156.                         <h3>Money never moves without a human confirming a draft they were shown.</h3>
  157.                         <p>
  158.                             There is no code path on which a payment executes in the same request that asked for
  159.                             it. A money operation is <em>always</em> drafted first, and the draft must state the
  160.                             amount, the currency, the paying account, the receiving party, what it settles and
  161.                             the resulting balance effect &mdash; six facts, all of them, or HoneyBee refuses to
  162.                             produce the draft at all rather than show half a transaction.
  163.                         </p>
  164.                         <p>
  165.                             Committing it is a separate call that must name that specific draft, quote a proof
  166.                             string printed on it, <b>and restate the amount and currency exactly</b>. A mistyped
  167.                             figure is refused. &ldquo;Approve the last thing&rdquo; is impossible by
  168.                             construction. If anything about the money changed since the human read it, the
  169.                             confirm is refused rather than adjusted.
  170.                         </p>
  171.                         <p>
  172.                             And only a real person can do it: an authenticated human in an OAuth session who
  173.                             consented to a scope that says so in plain words, on a company that switched money
  174.                             confirmation on, with a kill switch un-pulled. A machine credential never sees these
  175.                             tools at all &mdash; they are absent from its tool list, not merely refused.
  176.                         </p>
  177.                     </div>
  178.                 </article>
  179.                 <article class="hbc-rail">
  180.                     <span class="hbc-rail-n" aria-hidden="true">04</span>
  181.                     <div>
  182.                         <h3>Some things are refused for everyone, permanently.</h3>
  183.                         <p>
  184.                             Five operations are unreachable through the connector at every setting: creating a
  185.                             supplier payment, posting a journal voucher, posting a contra voucher, approving a
  186.                             document and bulk-approving documents. A person may never approve, through this
  187.                             channel, work that they themselves raised &mdash; that control is what makes
  188.                             everything else safe, and there is no flag anywhere that lifts it.
  189.                         </p>
  190.                     </div>
  191.                 </article>
  192.                 <article class="hbc-rail">
  193.                     <span class="hbc-rail-n" aria-hidden="true">05</span>
  194.                     <div>
  195.                         <h3>Your own permissions still apply.</h3>
  196.                         <p>
  197.                             The connector acts as the person who authorised it. Every call runs through the same
  198.                             permission gate as the ERP screens, and the company's own database is the only thing
  199.                             it can reach. A colleague's payslip is refused for the same reason it is refused in
  200.                             the browser.
  201.                         </p>
  202.                     </div>
  203.                 </article>
  204.             </div>
  205.         </div>
  206.     </section>
  207.     {# ══ 5. THE TOOLS ═════════════════════════════════════════════════════════ #}
  208.     <section class="n-sec-sm" id="tools">
  209.         <div class="n-wrap-sm">
  210.             <span class="n-label">Reference</span>
  211.             <h2 class="n-h2">The tools</h2>
  212.             <p class="hbc-body">
  213.                 Every tool carries a plain-language title and a machine-readable hint saying whether it only
  214.                 reads or can write, so your client can tell before it calls. The read tools below are the
  215.                 default surface &mdash; what a brand-new connection sees.
  216.             </p>
  217.             <div class="hbc-tools">
  218.                 <section class="hbc-group">
  219.                     <h3>Money and accounting <span class="hbc-count">12</span></h3>
  220.                     <ul>
  221.                         <li>Cash position</li>
  222.                         <li>Cash flow forecast</li>
  223.                         <li>Overdue invoices</li>
  224.                         <li>Payments due</li>
  225.                         <li>Customer or supplier balance</li>
  226.                         <li>General ledger inquiry</li>
  227.                         <li>Search the cash and bank ledger</li>
  228.                         <li>Where the money goes</li>
  229.                         <li>Payables across companies</li>
  230.                         <li>Plan for overdue payments</li>
  231.                         <li>Find an expense account</li>
  232.                         <li>Find a paying account</li>
  233.                     </ul>
  234.                 </section>
  235.                 <section class="hbc-group">
  236.                     <h3>Documents and operations <span class="hbc-count">7</span></h3>
  237.                     <ul>
  238.                         <li>Documents needing attention</li>
  239.                         <li>View a document</li>
  240.                         <li>Files attached to a document</li>
  241.                         <li>Waiting for my approval</li>
  242.                         <li>Three-way match check</li>
  243.                         <li>Stock position</li>
  244.                         <li>Find a customer or supplier</li>
  245.                     </ul>
  246.                 </section>
  247.                 <section class="hbc-group">
  248.                     <h3>Reporting and briefings <span class="hbc-count">6</span></h3>
  249.                     <ul>
  250.                         <li>Daily briefing</li>
  251.                         <li>Business intelligence</li>
  252.                         <li>Sales digest</li>
  253.                         <li>Report for my role</li>
  254.                         <li>Reports I can run</li>
  255.                         <li>Run a report</li>
  256.                     </ul>
  257.                 </section>
  258.                 <section class="hbc-group">
  259.                     <h3>My own records <span class="hbc-count">7</span></h3>
  260.                     <ul>
  261.                         <li>My attendance</li>
  262.                         <li>My leave requests</li>
  263.                         <li>My leave balance</li>
  264.                         <li>My payslip</li>
  265.                         <li>My notifications</li>
  266.                         <li>Tasks</li>
  267.                         <li>Task history</li>
  268.                     </ul>
  269.                 </section>
  270.                 <section class="hbc-group">
  271.                     <h3>Projects, energy and account <span class="hbc-count">5</span></h3>
  272.                     <ul>
  273.                         <li>Energy project finance</li>
  274.                         <li>Management plan</li>
  275.                         <li>Onboarding status</li>
  276.                         <li>Provisioning status</li>
  277.                         <li>Subscription status</li>
  278.                     </ul>
  279.                 </section>
  280.                 <section class="hbc-group">
  281.                     <h3>Travel <span class="hbc-count">2</span></h3>
  282.                     <ul>
  283.                         <li>Travel fare check</li>
  284.                         <li>Suggest a travel route</li>
  285.                     </ul>
  286.                 </section>
  287.             </div>
  288.             <div class="hbc-callout">
  289.                 <h3>The optional tiers</h3>
  290.                 <p>
  291.                     <b>Drafting (31 tools, off by default).</b> Quotations, sales and purchase orders, goods
  292.                     receipts, expenses, leads, projects, tasks, employees, products, customers and suppliers,
  293.                     attendance and follow-ups. Each returns a preview and a draft reference; none of them
  294.                     writes.
  295.                 </p>
  296.                 <p>
  297.                     <b>Approving from the chat (3 tools, OAuth humans only).</b> List the drafts waiting for a
  298.                     decision, approve one, or reject one. A machine credential cannot see these tools.
  299.                 </p>
  300.                 <p>
  301.                     <b>Money confirmation (off by default, per company).</b> Supplier payments and cash/bank
  302.                     transfers, drafted and then confirmed under the rules in section&nbsp;3 above.
  303.                 </p>
  304.                 <p>
  305.                     <b>All my companies (5 tools).</b> A separate read-only server that lists your companies,
  306.                     aggregates pending tasks and payables across them, and drills into any one of them. A
  307.                     company that does not answer is named as missing &mdash; it is never quietly counted as
  308.                     zero.
  309.                 </p>
  310.             </div>
  311.         </div>
  312.     </section>
  313.     {# ══ 6. PRIVACY + SUPPORT ═════════════════════════════════════════════════ #}
  314.     <section class="hbc-foot">
  315.         <div class="n-wrap-sm">
  316.             <h2 class="n-h2">Privacy and support</h2>
  317.             <p class="hbc-body">
  318.                 The connector reads your workspace data to answer your questions, under the same terms as the
  319.                 rest of the platform. What HoneyBee collects, how it is used and stored, who it is shared with,
  320.                 how long it is kept and who to contact are set out in full in our privacy policy.
  321.             </p>
  322.             <div class="hbc-links">
  323.                 <a href="{{ url('honeybee_privacy') }}" class="n-btn n-btn-primary">
  324.                     Privacy policy <i class="fa-solid fa-arrow-right" aria-hidden="true"></i>
  325.                 </a>
  326.                 <a href="{{ url('honeybee_dpa') }}" class="n-btn n-btn-outline">Data Processing Addendum</a>
  327.                 <a href="{{ url('honeybee_terms_and_conditions') }}" class="n-btn n-btn-outline">Terms</a>
  328.             </div>
  329.             <p class="hbc-contact">
  330.                 Support: <a href="mailto:support@ourhoneybee.eu">support@ourhoneybee.eu</a>
  331.                 &middot; Privacy: <a href="mailto:privacy@ourhoneybee.eu">privacy@ourhoneybee.eu</a>
  332.                 &middot; Or use the <a href="{{ url('honeybee_contact') }}">contact form</a>.
  333.             </p>
  334.             <p class="hbc-xlink">
  335.                 New to HoneyBee? Start with <a href="{{ url('honeybee_erp') }}">HoneyBee ERP</a>.
  336.             </p>
  337.         </div>
  338.     </section>
  339. </main>
  340. {% include '@HoneybeeWeb/footer/central_footer.html.twig' %}