@talonic/docs 0.20.19 → 0.20.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/content.js +970 -176
- package/package.json +1 -1
package/dist/content.js
CHANGED
|
@@ -27700,11 +27700,11 @@ var sections_default2 = [
|
|
|
27700
27700
|
parentSlug: "mcp-overview",
|
|
27701
27701
|
title: "Introduction",
|
|
27702
27702
|
seoTitle: "MCP Server Introduction \u2014 Talonic Docs",
|
|
27703
|
-
description: "Official Talonic MCP server for AI agents.
|
|
27703
|
+
description: "Official Talonic MCP server for AI agents. Nine tools and two resources for structured document extraction via the Model Context Protocol.",
|
|
27704
27704
|
content: [
|
|
27705
27705
|
{
|
|
27706
27706
|
type: "paragraph",
|
|
27707
|
-
text: "The `@talonic/mcp` package is the official Talonic MCP server. It gives AI agents
|
|
27707
|
+
text: "The `@talonic/mcp` package is the official Talonic MCP server. It gives AI agents nine tools and two resources for extracting structured, schema-validated data from any document via the [Model Context Protocol](https://modelcontextprotocol.io)."
|
|
27708
27708
|
},
|
|
27709
27709
|
{
|
|
27710
27710
|
type: "paragraph",
|
|
@@ -27712,7 +27712,7 @@ var sections_default2 = [
|
|
|
27712
27712
|
},
|
|
27713
27713
|
{
|
|
27714
27714
|
type: "paragraph",
|
|
27715
|
-
text: "With this MCP server installed, the agent has a `talonic_extract` tool that returns schema-validated JSON with per-field confidence scores, a detected document type, and stable IDs for follow-up calls. The other
|
|
27715
|
+
text: "With this MCP server installed, the agent has a `talonic_extract` tool that returns schema-validated JSON with per-field confidence scores, a detected document type, and stable IDs for follow-up calls. The other eight tools cover the rest of the workflow: searching the workspace, filtering by extracted field values, fetching document metadata, getting OCR markdown, listing saved schemas, saving new ones, and reading the workspace credit balance for budget-aware behaviour."
|
|
27716
27716
|
},
|
|
27717
27717
|
{
|
|
27718
27718
|
type: "callout",
|
|
@@ -27720,17 +27720,31 @@ var sections_default2 = [
|
|
|
27720
27720
|
}
|
|
27721
27721
|
],
|
|
27722
27722
|
related: [
|
|
27723
|
-
{
|
|
27724
|
-
|
|
27725
|
-
|
|
27723
|
+
{
|
|
27724
|
+
label: "Installation",
|
|
27725
|
+
slug: "mcp-installation"
|
|
27726
|
+
},
|
|
27727
|
+
{
|
|
27728
|
+
label: "Tools",
|
|
27729
|
+
slug: "mcp-talonic-extract"
|
|
27730
|
+
},
|
|
27731
|
+
{
|
|
27732
|
+
label: "Node SDK",
|
|
27733
|
+
slug: "sdk-introduction"
|
|
27734
|
+
}
|
|
27726
27735
|
],
|
|
27727
27736
|
faq: [
|
|
27728
27737
|
{
|
|
27729
27738
|
question: "What is the Talonic MCP server?",
|
|
27730
|
-
answer: "An official Model Context Protocol server that gives AI agents
|
|
27739
|
+
answer: "An official Model Context Protocol server that gives AI agents nine tools for document extraction, search, filtering, schema management, and credit-balance lookup via the Talonic API."
|
|
27731
27740
|
}
|
|
27732
27741
|
],
|
|
27733
|
-
mentions: [
|
|
27742
|
+
mentions: [
|
|
27743
|
+
"MCP",
|
|
27744
|
+
"Model Context Protocol",
|
|
27745
|
+
"AI agents",
|
|
27746
|
+
"document extraction"
|
|
27747
|
+
]
|
|
27734
27748
|
},
|
|
27735
27749
|
{
|
|
27736
27750
|
slug: "mcp-installation",
|
|
@@ -27743,6 +27757,10 @@ var sections_default2 = [
|
|
|
27743
27757
|
type: "paragraph",
|
|
27744
27758
|
text: "Three install paths. Pick the one that matches your client."
|
|
27745
27759
|
},
|
|
27760
|
+
{
|
|
27761
|
+
type: "callout",
|
|
27762
|
+
text: "The hosted MCP endpoint accepts both `https://mcp.talonic.com/mcp` and the bare origin `https://mcp.talonic.com` as connector URLs \u2014 POST/DELETE/SSE traffic at either path routes through the same Streamable HTTP transport. Plain `GET /` still returns the discovery JSON. Either URL works in any of the install paths below."
|
|
27763
|
+
},
|
|
27746
27764
|
{
|
|
27747
27765
|
type: "heading",
|
|
27748
27766
|
level: 3,
|
|
@@ -27769,7 +27787,11 @@ var sections_default2 = [
|
|
|
27769
27787
|
type: "callout",
|
|
27770
27788
|
text: "The connector does not need an API key in its config. Token rotation is handled by the OAuth flow."
|
|
27771
27789
|
},
|
|
27772
|
-
{
|
|
27790
|
+
{
|
|
27791
|
+
type: "heading",
|
|
27792
|
+
level: 3,
|
|
27793
|
+
text: "Local stdio (npx)"
|
|
27794
|
+
},
|
|
27773
27795
|
{
|
|
27774
27796
|
type: "paragraph",
|
|
27775
27797
|
text: "Recommended for IDE-style clients (Claude Desktop, Cursor, Cline, Continue, Cowork). Runs on your machine via stdio; requires Node.js 18 or later. Uses a `TALONIC_API_KEY` from `app.talonic.com`."
|
|
@@ -27805,9 +27827,18 @@ var sections_default2 = [
|
|
|
27805
27827
|
}
|
|
27806
27828
|
],
|
|
27807
27829
|
related: [
|
|
27808
|
-
{
|
|
27809
|
-
|
|
27810
|
-
|
|
27830
|
+
{
|
|
27831
|
+
label: "Claude Desktop",
|
|
27832
|
+
slug: "mcp-claude-desktop"
|
|
27833
|
+
},
|
|
27834
|
+
{
|
|
27835
|
+
label: "Cursor",
|
|
27836
|
+
slug: "mcp-cursor"
|
|
27837
|
+
},
|
|
27838
|
+
{
|
|
27839
|
+
label: "Authentication",
|
|
27840
|
+
slug: "mcp-authentication"
|
|
27841
|
+
}
|
|
27811
27842
|
],
|
|
27812
27843
|
faq: [
|
|
27813
27844
|
{
|
|
@@ -27841,7 +27872,11 @@ var sections_default2 = [
|
|
|
27841
27872
|
type: "paragraph",
|
|
27842
27873
|
text: "Each user runs against their own isolated Talonic workspace. Your documents and schemas are private to you. There are three authentication paths depending on how you connect."
|
|
27843
27874
|
},
|
|
27844
|
-
{
|
|
27875
|
+
{
|
|
27876
|
+
type: "heading",
|
|
27877
|
+
level: 3,
|
|
27878
|
+
text: "OAuth 2.1 (Claude.ai connector, recommended)"
|
|
27879
|
+
},
|
|
27845
27880
|
{
|
|
27846
27881
|
type: "paragraph",
|
|
27847
27882
|
text: "When you connect via Claude.ai's custom-connector flow, the connector launches an OAuth 2.1 sign-in to `app.talonic.com` (PKCE + Dynamic Client Registration). After consent, the connector exchanges a short-lived bearer token that is rotated automatically; no API key sits in the connector config. The Talonic MCP server validates the token on each request against the API, so revocation propagates immediately."
|
|
@@ -27872,7 +27907,11 @@ var sections_default2 = [
|
|
|
27872
27907
|
"`?apiKey=tlnc_...` query parameter (only for clients that cannot set custom headers)."
|
|
27873
27908
|
]
|
|
27874
27909
|
},
|
|
27875
|
-
{
|
|
27910
|
+
{
|
|
27911
|
+
type: "heading",
|
|
27912
|
+
level: 3,
|
|
27913
|
+
text: "Environment variable (local stdio)"
|
|
27914
|
+
},
|
|
27876
27915
|
{
|
|
27877
27916
|
type: "paragraph",
|
|
27878
27917
|
text: "Set `TALONIC_API_KEY` in the `env` block of your MCP client config. The local server reads it at startup."
|
|
@@ -27888,8 +27927,14 @@ var sections_default2 = [
|
|
|
27888
27927
|
}
|
|
27889
27928
|
],
|
|
27890
27929
|
related: [
|
|
27891
|
-
{
|
|
27892
|
-
|
|
27930
|
+
{
|
|
27931
|
+
label: "Installation",
|
|
27932
|
+
slug: "mcp-installation"
|
|
27933
|
+
},
|
|
27934
|
+
{
|
|
27935
|
+
label: "API Authentication",
|
|
27936
|
+
slug: "authentication"
|
|
27937
|
+
}
|
|
27893
27938
|
],
|
|
27894
27939
|
faq: [
|
|
27895
27940
|
{
|
|
@@ -27918,14 +27963,22 @@ var sections_default2 = [
|
|
|
27918
27963
|
type: "paragraph",
|
|
27919
27964
|
text: "Edit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\\Claude\\claude_desktop_config.json` (Windows)."
|
|
27920
27965
|
},
|
|
27921
|
-
{
|
|
27966
|
+
{
|
|
27967
|
+
type: "heading",
|
|
27968
|
+
level: 3,
|
|
27969
|
+
text: "Hosted (recommended)"
|
|
27970
|
+
},
|
|
27922
27971
|
{
|
|
27923
27972
|
type: "code",
|
|
27924
27973
|
language: "json",
|
|
27925
27974
|
title: "claude_desktop_config.json",
|
|
27926
27975
|
code: '{\n "mcpServers": {\n "talonic": {\n "url": "https://mcp.talonic.com/mcp",\n "headers": {\n "Authorization": "Bearer tlnc_your_key_here"\n }\n }\n }\n}'
|
|
27927
27976
|
},
|
|
27928
|
-
{
|
|
27977
|
+
{
|
|
27978
|
+
type: "heading",
|
|
27979
|
+
level: 3,
|
|
27980
|
+
text: "Local (npx)"
|
|
27981
|
+
},
|
|
27929
27982
|
{
|
|
27930
27983
|
type: "code",
|
|
27931
27984
|
language: "json",
|
|
@@ -27938,8 +27991,14 @@ var sections_default2 = [
|
|
|
27938
27991
|
}
|
|
27939
27992
|
],
|
|
27940
27993
|
related: [
|
|
27941
|
-
{
|
|
27942
|
-
|
|
27994
|
+
{
|
|
27995
|
+
label: "Cursor",
|
|
27996
|
+
slug: "mcp-cursor"
|
|
27997
|
+
},
|
|
27998
|
+
{
|
|
27999
|
+
label: "Tool Reference",
|
|
28000
|
+
slug: "mcp-talonic-extract"
|
|
28001
|
+
}
|
|
27943
28002
|
],
|
|
27944
28003
|
faq: [
|
|
27945
28004
|
{
|
|
@@ -27947,7 +28006,11 @@ var sections_default2 = [
|
|
|
27947
28006
|
answer: "Edit claude_desktop_config.json, add the Talonic MCP server config (hosted URL or local npx) with your API key, and fully restart Claude Desktop (Cmd+Q on macOS)."
|
|
27948
28007
|
}
|
|
27949
28008
|
],
|
|
27950
|
-
mentions: [
|
|
28009
|
+
mentions: [
|
|
28010
|
+
"Claude Desktop",
|
|
28011
|
+
"macOS",
|
|
28012
|
+
"Windows"
|
|
28013
|
+
]
|
|
27951
28014
|
},
|
|
27952
28015
|
{
|
|
27953
28016
|
slug: "mcp-cursor",
|
|
@@ -27960,14 +28023,22 @@ var sections_default2 = [
|
|
|
27960
28023
|
type: "paragraph",
|
|
27961
28024
|
text: "Edit `~/.cursor/mcp.json` (or open Cursor settings \u2192 MCP \u2192 edit config):"
|
|
27962
28025
|
},
|
|
27963
|
-
{
|
|
28026
|
+
{
|
|
28027
|
+
type: "heading",
|
|
28028
|
+
level: 3,
|
|
28029
|
+
text: "Hosted (recommended)"
|
|
28030
|
+
},
|
|
27964
28031
|
{
|
|
27965
28032
|
type: "code",
|
|
27966
28033
|
language: "json",
|
|
27967
28034
|
title: "~/.cursor/mcp.json",
|
|
27968
28035
|
code: '{\n "mcpServers": {\n "talonic": {\n "url": "https://mcp.talonic.com/mcp",\n "headers": {\n "Authorization": "Bearer tlnc_your_key_here"\n }\n }\n }\n}'
|
|
27969
28036
|
},
|
|
27970
|
-
{
|
|
28037
|
+
{
|
|
28038
|
+
type: "heading",
|
|
28039
|
+
level: 3,
|
|
28040
|
+
text: "Local (npx)"
|
|
28041
|
+
},
|
|
27971
28042
|
{
|
|
27972
28043
|
type: "code",
|
|
27973
28044
|
language: "json",
|
|
@@ -27976,8 +28047,14 @@ var sections_default2 = [
|
|
|
27976
28047
|
}
|
|
27977
28048
|
],
|
|
27978
28049
|
related: [
|
|
27979
|
-
{
|
|
27980
|
-
|
|
28050
|
+
{
|
|
28051
|
+
label: "Claude Desktop",
|
|
28052
|
+
slug: "mcp-claude-desktop"
|
|
28053
|
+
},
|
|
28054
|
+
{
|
|
28055
|
+
label: "Cline",
|
|
28056
|
+
slug: "mcp-cline"
|
|
28057
|
+
}
|
|
27981
28058
|
],
|
|
27982
28059
|
faq: [
|
|
27983
28060
|
{
|
|
@@ -27985,7 +28062,10 @@ var sections_default2 = [
|
|
|
27985
28062
|
answer: "Edit ~/.cursor/mcp.json and add the Talonic MCP server config with your API key. Hosted or local."
|
|
27986
28063
|
}
|
|
27987
28064
|
],
|
|
27988
|
-
mentions: [
|
|
28065
|
+
mentions: [
|
|
28066
|
+
"Cursor",
|
|
28067
|
+
"IDE"
|
|
28068
|
+
]
|
|
27989
28069
|
},
|
|
27990
28070
|
{
|
|
27991
28071
|
slug: "mcp-cline",
|
|
@@ -27998,23 +28078,40 @@ var sections_default2 = [
|
|
|
27998
28078
|
type: "paragraph",
|
|
27999
28079
|
text: "Open the Cline panel \u2192 settings (gear icon) \u2192 MCP Servers \u2192 Edit."
|
|
28000
28080
|
},
|
|
28001
|
-
{
|
|
28081
|
+
{
|
|
28082
|
+
type: "heading",
|
|
28083
|
+
level: 3,
|
|
28084
|
+
text: "Hosted (recommended)"
|
|
28085
|
+
},
|
|
28002
28086
|
{
|
|
28003
28087
|
type: "code",
|
|
28004
28088
|
language: "json",
|
|
28005
28089
|
code: '{\n "mcpServers": {\n "talonic": {\n "url": "https://mcp.talonic.com/mcp",\n "headers": {\n "Authorization": "Bearer tlnc_your_key_here"\n }\n }\n }\n}'
|
|
28006
28090
|
},
|
|
28007
|
-
{
|
|
28091
|
+
{
|
|
28092
|
+
type: "heading",
|
|
28093
|
+
level: 3,
|
|
28094
|
+
text: "Local (npx)"
|
|
28095
|
+
},
|
|
28008
28096
|
{
|
|
28009
28097
|
type: "code",
|
|
28010
28098
|
language: "json",
|
|
28011
28099
|
code: '{\n "mcpServers": {\n "talonic": {\n "command": "npx",\n "args": ["-y", "@talonic/mcp@latest"],\n "env": {\n "TALONIC_API_KEY": "tlnc_your_key_here"\n }\n }\n }\n}'
|
|
28012
28100
|
},
|
|
28013
|
-
{
|
|
28101
|
+
{
|
|
28102
|
+
type: "paragraph",
|
|
28103
|
+
text: "Save and restart the panel."
|
|
28104
|
+
}
|
|
28014
28105
|
],
|
|
28015
28106
|
related: [
|
|
28016
|
-
{
|
|
28017
|
-
|
|
28107
|
+
{
|
|
28108
|
+
label: "Continue",
|
|
28109
|
+
slug: "mcp-continue"
|
|
28110
|
+
},
|
|
28111
|
+
{
|
|
28112
|
+
label: "Cursor",
|
|
28113
|
+
slug: "mcp-cursor"
|
|
28114
|
+
}
|
|
28018
28115
|
],
|
|
28019
28116
|
faq: [
|
|
28020
28117
|
{
|
|
@@ -28022,7 +28119,10 @@ var sections_default2 = [
|
|
|
28022
28119
|
answer: "Open the Cline panel settings, go to MCP Servers, click Edit, and add the Talonic config entry."
|
|
28023
28120
|
}
|
|
28024
28121
|
],
|
|
28025
|
-
mentions: [
|
|
28122
|
+
mentions: [
|
|
28123
|
+
"Cline",
|
|
28124
|
+
"VS Code"
|
|
28125
|
+
]
|
|
28026
28126
|
},
|
|
28027
28127
|
{
|
|
28028
28128
|
slug: "mcp-continue",
|
|
@@ -28035,14 +28135,22 @@ var sections_default2 = [
|
|
|
28035
28135
|
type: "paragraph",
|
|
28036
28136
|
text: "Edit `~/.continue/config.json`. Add to the `mcpServers` array:"
|
|
28037
28137
|
},
|
|
28038
|
-
{
|
|
28138
|
+
{
|
|
28139
|
+
type: "heading",
|
|
28140
|
+
level: 3,
|
|
28141
|
+
text: "Hosted (recommended)"
|
|
28142
|
+
},
|
|
28039
28143
|
{
|
|
28040
28144
|
type: "code",
|
|
28041
28145
|
language: "json",
|
|
28042
28146
|
title: "~/.continue/config.json",
|
|
28043
28147
|
code: '{\n "name": "talonic",\n "url": "https://mcp.talonic.com/mcp",\n "headers": {\n "Authorization": "Bearer tlnc_your_key_here"\n }\n}'
|
|
28044
28148
|
},
|
|
28045
|
-
{
|
|
28149
|
+
{
|
|
28150
|
+
type: "heading",
|
|
28151
|
+
level: 3,
|
|
28152
|
+
text: "Local (npx)"
|
|
28153
|
+
},
|
|
28046
28154
|
{
|
|
28047
28155
|
type: "code",
|
|
28048
28156
|
language: "json",
|
|
@@ -28051,8 +28159,14 @@ var sections_default2 = [
|
|
|
28051
28159
|
}
|
|
28052
28160
|
],
|
|
28053
28161
|
related: [
|
|
28054
|
-
{
|
|
28055
|
-
|
|
28162
|
+
{
|
|
28163
|
+
label: "Cowork",
|
|
28164
|
+
slug: "mcp-cowork"
|
|
28165
|
+
},
|
|
28166
|
+
{
|
|
28167
|
+
label: "Cline",
|
|
28168
|
+
slug: "mcp-cline"
|
|
28169
|
+
}
|
|
28056
28170
|
],
|
|
28057
28171
|
faq: [
|
|
28058
28172
|
{
|
|
@@ -28060,7 +28174,11 @@ var sections_default2 = [
|
|
|
28060
28174
|
answer: "Edit ~/.continue/config.json and add a Talonic entry to the mcpServers array with your API key."
|
|
28061
28175
|
}
|
|
28062
28176
|
],
|
|
28063
|
-
mentions: [
|
|
28177
|
+
mentions: [
|
|
28178
|
+
"Continue",
|
|
28179
|
+
"VS Code",
|
|
28180
|
+
"JetBrains"
|
|
28181
|
+
]
|
|
28064
28182
|
},
|
|
28065
28183
|
{
|
|
28066
28184
|
slug: "mcp-cowork",
|
|
@@ -28069,14 +28187,25 @@ var sections_default2 = [
|
|
|
28069
28187
|
seoTitle: "MCP Setup for Cowork \u2014 Talonic Docs",
|
|
28070
28188
|
description: "Configure the Talonic MCP server in Cowork. Hosted and local configs.",
|
|
28071
28189
|
content: [
|
|
28072
|
-
{
|
|
28073
|
-
|
|
28190
|
+
{
|
|
28191
|
+
type: "paragraph",
|
|
28192
|
+
text: "Open Cowork settings \u2192 MCP Servers \u2192 Add."
|
|
28193
|
+
},
|
|
28194
|
+
{
|
|
28195
|
+
type: "heading",
|
|
28196
|
+
level: 3,
|
|
28197
|
+
text: "Hosted (recommended)"
|
|
28198
|
+
},
|
|
28074
28199
|
{
|
|
28075
28200
|
type: "code",
|
|
28076
28201
|
language: "json",
|
|
28077
28202
|
code: '{\n "mcpServers": {\n "talonic": {\n "url": "https://mcp.talonic.com/mcp",\n "headers": {\n "Authorization": "Bearer tlnc_your_key_here"\n }\n }\n }\n}'
|
|
28078
28203
|
},
|
|
28079
|
-
{
|
|
28204
|
+
{
|
|
28205
|
+
type: "heading",
|
|
28206
|
+
level: 3,
|
|
28207
|
+
text: "Local (npx)"
|
|
28208
|
+
},
|
|
28080
28209
|
{
|
|
28081
28210
|
type: "code",
|
|
28082
28211
|
language: "json",
|
|
@@ -28084,8 +28213,14 @@ var sections_default2 = [
|
|
|
28084
28213
|
}
|
|
28085
28214
|
],
|
|
28086
28215
|
related: [
|
|
28087
|
-
{
|
|
28088
|
-
|
|
28216
|
+
{
|
|
28217
|
+
label: "Claude Desktop",
|
|
28218
|
+
slug: "mcp-claude-desktop"
|
|
28219
|
+
},
|
|
28220
|
+
{
|
|
28221
|
+
label: "Tool Reference",
|
|
28222
|
+
slug: "mcp-talonic-extract"
|
|
28223
|
+
}
|
|
28089
28224
|
],
|
|
28090
28225
|
faq: [
|
|
28091
28226
|
{
|
|
@@ -28093,7 +28228,9 @@ var sections_default2 = [
|
|
|
28093
28228
|
answer: "Open Cowork settings, go to MCP Servers, click Add, and paste the standard Talonic config with your API key."
|
|
28094
28229
|
}
|
|
28095
28230
|
],
|
|
28096
|
-
mentions: [
|
|
28231
|
+
mentions: [
|
|
28232
|
+
"Cowork"
|
|
28233
|
+
]
|
|
28097
28234
|
},
|
|
28098
28235
|
{
|
|
28099
28236
|
slug: "mcp-talonic-extract",
|
|
@@ -28106,7 +28243,11 @@ var sections_default2 = [
|
|
|
28106
28243
|
type: "paragraph",
|
|
28107
28244
|
text: "Extract structured, schema-validated data from a document. Returns clean JSON matching the schema, with per-field confidence scores and document metadata."
|
|
28108
28245
|
},
|
|
28109
|
-
{
|
|
28246
|
+
{
|
|
28247
|
+
type: "heading",
|
|
28248
|
+
level: 3,
|
|
28249
|
+
text: "When to use"
|
|
28250
|
+
},
|
|
28110
28251
|
{
|
|
28111
28252
|
type: "list",
|
|
28112
28253
|
ordered: false,
|
|
@@ -28117,7 +28258,11 @@ var sections_default2 = [
|
|
|
28117
28258
|
"You want validated JSON instead of trying to OCR + parse with raw LLM calls."
|
|
28118
28259
|
]
|
|
28119
28260
|
},
|
|
28120
|
-
{
|
|
28261
|
+
{
|
|
28262
|
+
type: "heading",
|
|
28263
|
+
level: 3,
|
|
28264
|
+
text: "When NOT to use"
|
|
28265
|
+
},
|
|
28121
28266
|
{
|
|
28122
28267
|
type: "list",
|
|
28123
28268
|
ordered: false,
|
|
@@ -28126,7 +28271,11 @@ var sections_default2 = [
|
|
|
28126
28271
|
"The user wants to find documents matching a query \u2192 use `talonic_search` or `talonic_filter`."
|
|
28127
28272
|
]
|
|
28128
28273
|
},
|
|
28129
|
-
{
|
|
28274
|
+
{
|
|
28275
|
+
type: "heading",
|
|
28276
|
+
level: 3,
|
|
28277
|
+
text: "Input schema"
|
|
28278
|
+
},
|
|
28130
28279
|
{
|
|
28131
28280
|
type: "param-table",
|
|
28132
28281
|
title: "File source (provide exactly one)",
|
|
@@ -28195,14 +28344,22 @@ var sections_default2 = [
|
|
|
28195
28344
|
}
|
|
28196
28345
|
]
|
|
28197
28346
|
},
|
|
28198
|
-
{
|
|
28347
|
+
{
|
|
28348
|
+
type: "heading",
|
|
28349
|
+
level: 3,
|
|
28350
|
+
text: "Response shape"
|
|
28351
|
+
},
|
|
28199
28352
|
{
|
|
28200
28353
|
type: "code",
|
|
28201
28354
|
language: "json",
|
|
28202
28355
|
title: "Example response",
|
|
28203
28356
|
code: '{\n "data": {\n "vendor_name": "Acme Corp",\n "invoice_number": "INV-2024-0847",\n "total_amount": 14250.00,\n "due_date": "2024-03-15"\n },\n "confidence": {\n "vendor_name": 0.97,\n "invoice_number": 0.99,\n "total_amount": 0.94,\n "due_date": 0.91\n },\n "document": {\n "id": "d_abc123",\n "filename": "invoice.pdf",\n "documentType": "invoice",\n "language": "en",\n "pageCount": 2\n },\n "extraction": {\n "id": "ext_xyz789",\n "schemaId": "sch_def456"\n },\n "cost": {\n "costCredits": 1,\n "costEur": 0.05,\n "balanceCredits": 999,\n "cellsResolvedRegistry": 3,\n "cellsResolvedAi": 1\n }\n}'
|
|
28204
28357
|
},
|
|
28205
|
-
{
|
|
28358
|
+
{
|
|
28359
|
+
type: "heading",
|
|
28360
|
+
level: 3,
|
|
28361
|
+
text: "Confidence scores and human escalation"
|
|
28362
|
+
},
|
|
28206
28363
|
{
|
|
28207
28364
|
type: "paragraph",
|
|
28208
28365
|
text: "Each field in the `confidence` object is a float from 0.0 to 1.0. Values above **0.90** are high confidence. Values between **0.70\u20130.90** should be treated with caution \u2014 flag them to the user for verification. Values below **0.70** indicate low confidence \u2014 the agent should ask the user to verify the value or re-extract with more specific instructions."
|
|
@@ -28212,17 +28369,29 @@ var sections_default2 = [
|
|
|
28212
28369
|
variant: "warning",
|
|
28213
28370
|
text: "Always provide either a `schema` or `schema_id`. The MCP layer rejects schema-less calls with a validation error before they reach the API."
|
|
28214
28371
|
},
|
|
28215
|
-
{
|
|
28372
|
+
{
|
|
28373
|
+
type: "heading",
|
|
28374
|
+
level: 3,
|
|
28375
|
+
text: "Cost"
|
|
28376
|
+
},
|
|
28216
28377
|
{
|
|
28217
28378
|
type: "paragraph",
|
|
28218
28379
|
text: "Each `talonic_extract` call with a new file consumes **one extraction credit**. Re-extracting the same `document_id` with a different schema also consumes one credit. The per-call cost is surfaced on the response under `cost` (`costCredits`, `costEur`, `balanceCredits`, plus a breakdown of how many cells were resolved by the registry vs the AI), parsed from the `X-Talonic-Cost-*` and `X-Talonic-Balance-*` response headers. To avoid unnecessary cost, check if a document has already been extracted before calling again \u2014 use `talonic_search` or `talonic_filter` to find existing results, and `talonic_get_balance` to check your runway before kicking off a large batch."
|
|
28219
28380
|
},
|
|
28220
|
-
{
|
|
28381
|
+
{
|
|
28382
|
+
type: "heading",
|
|
28383
|
+
level: 3,
|
|
28384
|
+
text: "Errors"
|
|
28385
|
+
},
|
|
28221
28386
|
{
|
|
28222
28387
|
type: "param-table",
|
|
28223
28388
|
title: "Common errors",
|
|
28224
28389
|
params: [
|
|
28225
|
-
{
|
|
28390
|
+
{
|
|
28391
|
+
name: "unauthorized",
|
|
28392
|
+
type: "401",
|
|
28393
|
+
description: "Invalid or missing API key."
|
|
28394
|
+
},
|
|
28226
28395
|
{
|
|
28227
28396
|
name: "validation_error",
|
|
28228
28397
|
type: "422",
|
|
@@ -28247,9 +28416,18 @@ var sections_default2 = [
|
|
|
28247
28416
|
}
|
|
28248
28417
|
],
|
|
28249
28418
|
related: [
|
|
28250
|
-
{
|
|
28251
|
-
|
|
28252
|
-
|
|
28419
|
+
{
|
|
28420
|
+
label: "SDK Extract",
|
|
28421
|
+
slug: "sdk-extract"
|
|
28422
|
+
},
|
|
28423
|
+
{
|
|
28424
|
+
label: "POST /v1/extract",
|
|
28425
|
+
slug: "post-extract"
|
|
28426
|
+
},
|
|
28427
|
+
{
|
|
28428
|
+
label: "Cost & Rate Limits",
|
|
28429
|
+
slug: "mcp-cost-and-limits"
|
|
28430
|
+
}
|
|
28253
28431
|
],
|
|
28254
28432
|
faq: [
|
|
28255
28433
|
{
|
|
@@ -28261,7 +28439,13 @@ var sections_default2 = [
|
|
|
28261
28439
|
answer: "Scores above 0.90 are reliable. Between 0.70\u20130.90, flag to the user for verification. Below 0.70, ask the user to verify or re-extract with more specific instructions."
|
|
28262
28440
|
}
|
|
28263
28441
|
],
|
|
28264
|
-
mentions: [
|
|
28442
|
+
mentions: [
|
|
28443
|
+
"talonic_extract",
|
|
28444
|
+
"file_data",
|
|
28445
|
+
"schema",
|
|
28446
|
+
"confidence",
|
|
28447
|
+
"extraction"
|
|
28448
|
+
]
|
|
28265
28449
|
},
|
|
28266
28450
|
{
|
|
28267
28451
|
slug: "mcp-talonic-search",
|
|
@@ -28274,7 +28458,11 @@ var sections_default2 = [
|
|
|
28274
28458
|
type: "paragraph",
|
|
28275
28459
|
text: "Omnisearch across documents, extracted field values, field names, sources, and schemas in the workspace. Returns ranked results across all entity types in one call."
|
|
28276
28460
|
},
|
|
28277
|
-
{
|
|
28461
|
+
{
|
|
28462
|
+
type: "heading",
|
|
28463
|
+
level: 3,
|
|
28464
|
+
text: "When to use"
|
|
28465
|
+
},
|
|
28278
28466
|
{
|
|
28279
28467
|
type: "list",
|
|
28280
28468
|
ordered: false,
|
|
@@ -28286,7 +28474,11 @@ var sections_default2 = [
|
|
|
28286
28474
|
"You need to discover canonical field names before using `talonic_filter`."
|
|
28287
28475
|
]
|
|
28288
28476
|
},
|
|
28289
|
-
{
|
|
28477
|
+
{
|
|
28478
|
+
type: "heading",
|
|
28479
|
+
level: 3,
|
|
28480
|
+
text: "When NOT to use"
|
|
28481
|
+
},
|
|
28290
28482
|
{
|
|
28291
28483
|
type: "list",
|
|
28292
28484
|
ordered: false,
|
|
@@ -28296,7 +28488,11 @@ var sections_default2 = [
|
|
|
28296
28488
|
"The user wants to extract data from a new document \u2192 use `talonic_extract`."
|
|
28297
28489
|
]
|
|
28298
28490
|
},
|
|
28299
|
-
{
|
|
28491
|
+
{
|
|
28492
|
+
type: "heading",
|
|
28493
|
+
level: 3,
|
|
28494
|
+
text: "Input schema"
|
|
28495
|
+
},
|
|
28300
28496
|
{
|
|
28301
28497
|
type: "param-table",
|
|
28302
28498
|
title: "Parameters",
|
|
@@ -28314,28 +28510,48 @@ var sections_default2 = [
|
|
|
28314
28510
|
}
|
|
28315
28511
|
]
|
|
28316
28512
|
},
|
|
28317
|
-
{
|
|
28513
|
+
{
|
|
28514
|
+
type: "heading",
|
|
28515
|
+
level: 3,
|
|
28516
|
+
text: "Response shape"
|
|
28517
|
+
},
|
|
28318
28518
|
{
|
|
28319
28519
|
type: "code",
|
|
28320
28520
|
language: "json",
|
|
28321
28521
|
title: "Example response",
|
|
28322
|
-
code: '{\n "documents": [\n {\n "id": "d_abc123",\n "filename": "acme-invoice-q4.pdf",\n "documentType": "invoice",\n "score": 0.92\n }\n ],\n "fieldMatches": [\n {\n "resolvedFieldId": "f_ghi789",\n "displayName": "Vendor Name",\n "matchedValue": "Acme Corp",\n "documentCount": 3,\n "filterable": true\n }\n ],\n "sources": [],\n "schemas": [\n {\n "id": "sch_def456",\n "name": "Standard Invoice"\n }\n ],\n "fields": [\n {\n "id": "
|
|
28522
|
+
code: '{\n "documents": [\n {\n "id": "d_abc123",\n "filename": "acme-invoice-q4.pdf",\n "documentType": "invoice",\n "score": 0.92\n }\n ],\n "fieldMatches": [\n {\n "resolvedFieldId": "f_ghi789",\n "displayName": "Vendor Name",\n "matchedValue": "Acme Corp",\n "documentCount": 3,\n "filterable": true,\n "dataType": "string"\n }\n ],\n "sources": [],\n "schemas": [\n {\n "id": "sch_def456",\n "name": "Standard Invoice"\n }\n ],\n "fields": [\n {\n "id": "f_total",\n "canonicalName": "total_amount",\n "displayName": "Total Amount",\n "documentCount": 14,\n "filterable": true,\n "dataType": "number"\n }\n ]\n}'
|
|
28323
28523
|
},
|
|
28324
28524
|
{
|
|
28325
28525
|
type: "callout",
|
|
28326
28526
|
text: "Only `fields[]` entries with `filterable: true` can be used with `talonic_filter`. These have extracted data in the workspace. Fields with `filterable: false` exist in a schema definition but have no extracted data yet \u2014 they become filterable after documents are processed against their schema."
|
|
28327
28527
|
},
|
|
28328
|
-
{
|
|
28528
|
+
{
|
|
28529
|
+
type: "callout",
|
|
28530
|
+
text: 'Every `fieldMatches[]` and `fields[]` entry carries a `dataType` (`"string"`, `"number"`, `"array"`, etc.). Use it to pick the right `talonic_filter` operator on the first call \u2014 numeric operators (`gt`, `gte`, `lt`, `lte`, `between`) only resolve correctly when `dataType === "number"`. See the *Schema typing* section under `talonic_filter` for the full preventive / reactive pattern.'
|
|
28531
|
+
},
|
|
28532
|
+
{
|
|
28533
|
+
type: "heading",
|
|
28534
|
+
level: 3,
|
|
28535
|
+
text: "Cost"
|
|
28536
|
+
},
|
|
28329
28537
|
{
|
|
28330
28538
|
type: "paragraph",
|
|
28331
28539
|
text: "Search calls are **free** \u2014 they do not consume extraction credits. Use search liberally to explore before extracting."
|
|
28332
28540
|
},
|
|
28333
|
-
{
|
|
28541
|
+
{
|
|
28542
|
+
type: "heading",
|
|
28543
|
+
level: 3,
|
|
28544
|
+
text: "Errors"
|
|
28545
|
+
},
|
|
28334
28546
|
{
|
|
28335
28547
|
type: "param-table",
|
|
28336
28548
|
title: "Common errors",
|
|
28337
28549
|
params: [
|
|
28338
|
-
{
|
|
28550
|
+
{
|
|
28551
|
+
name: "unauthorized",
|
|
28552
|
+
type: "401",
|
|
28553
|
+
description: "Invalid or missing API key."
|
|
28554
|
+
},
|
|
28339
28555
|
{
|
|
28340
28556
|
name: "validation_error",
|
|
28341
28557
|
type: "422",
|
|
@@ -28345,8 +28561,14 @@ var sections_default2 = [
|
|
|
28345
28561
|
}
|
|
28346
28562
|
],
|
|
28347
28563
|
related: [
|
|
28348
|
-
{
|
|
28349
|
-
|
|
28564
|
+
{
|
|
28565
|
+
label: "talonic_filter",
|
|
28566
|
+
slug: "mcp-talonic-filter"
|
|
28567
|
+
},
|
|
28568
|
+
{
|
|
28569
|
+
label: "Omnisearch",
|
|
28570
|
+
slug: "omnisearch"
|
|
28571
|
+
}
|
|
28350
28572
|
],
|
|
28351
28573
|
faq: [
|
|
28352
28574
|
{
|
|
@@ -28356,22 +28578,38 @@ var sections_default2 = [
|
|
|
28356
28578
|
{
|
|
28357
28579
|
question: "What entities does talonic_search return?",
|
|
28358
28580
|
answer: "Documents, field matches (with canonical names and values), sources, schemas, and field definitions \u2014 all ranked by relevance score."
|
|
28581
|
+
},
|
|
28582
|
+
{
|
|
28583
|
+
question: "How do I avoid a `talonic_filter` numeric query returning zero matches?",
|
|
28584
|
+
answer: 'Check `dataType` on the field entry in the search response before constructing the filter. Numeric operators (`gt`, `gte`, `lt`, `lte`, `between`) only resolve against fields where `dataType === "number"`. If the type is `string` (common for monetary or formatted-number fields), suggest the user change the field\'s data type in the schema before filtering.'
|
|
28359
28585
|
}
|
|
28360
28586
|
],
|
|
28361
|
-
mentions: [
|
|
28587
|
+
mentions: [
|
|
28588
|
+
"canonicalName",
|
|
28589
|
+
"dataType",
|
|
28590
|
+
"field discovery",
|
|
28591
|
+
"omnisearch",
|
|
28592
|
+
"preventive guard",
|
|
28593
|
+
"schema typing",
|
|
28594
|
+
"talonic_search"
|
|
28595
|
+
]
|
|
28362
28596
|
},
|
|
28363
28597
|
{
|
|
28364
28598
|
slug: "mcp-talonic-filter",
|
|
28365
28599
|
parentSlug: "mcp-tools",
|
|
28366
28600
|
title: "talonic_filter",
|
|
28367
28601
|
seoTitle: "talonic_filter MCP Tool \u2014 Talonic Docs",
|
|
28368
|
-
description: "Filter documents by extracted field values. Full operator reference, input/output schema,
|
|
28602
|
+
description: "Filter documents by extracted field values. Full operator reference, input/output schema, composable condition examples, and the preventive + reactive pattern for guarding numeric operators against string-typed fields.",
|
|
28369
28603
|
content: [
|
|
28370
28604
|
{
|
|
28371
28605
|
type: "paragraph",
|
|
28372
28606
|
text: "Filter documents by extracted field values using composable conditions. Conditions accept canonical field names (e.g. `vendor.name`, `policy.0_coverage_type`) or field UUIDs. The Talonic API resolves names to IDs server-side."
|
|
28373
28607
|
},
|
|
28374
|
-
{
|
|
28608
|
+
{
|
|
28609
|
+
type: "heading",
|
|
28610
|
+
level: 3,
|
|
28611
|
+
text: "When to use"
|
|
28612
|
+
},
|
|
28375
28613
|
{
|
|
28376
28614
|
type: "list",
|
|
28377
28615
|
ordered: false,
|
|
@@ -28381,7 +28619,11 @@ var sections_default2 = [
|
|
|
28381
28619
|
"You need a sortable, paginated list filtered by field conditions."
|
|
28382
28620
|
]
|
|
28383
28621
|
},
|
|
28384
|
-
{
|
|
28622
|
+
{
|
|
28623
|
+
type: "heading",
|
|
28624
|
+
level: 3,
|
|
28625
|
+
text: "When NOT to use"
|
|
28626
|
+
},
|
|
28385
28627
|
{
|
|
28386
28628
|
type: "list",
|
|
28387
28629
|
ordered: false,
|
|
@@ -28391,7 +28633,11 @@ var sections_default2 = [
|
|
|
28391
28633
|
"The user wants to extract from a new document \u2192 use `talonic_extract`."
|
|
28392
28634
|
]
|
|
28393
28635
|
},
|
|
28394
|
-
{
|
|
28636
|
+
{
|
|
28637
|
+
type: "heading",
|
|
28638
|
+
level: 3,
|
|
28639
|
+
text: "Input schema"
|
|
28640
|
+
},
|
|
28395
28641
|
{
|
|
28396
28642
|
type: "param-table",
|
|
28397
28643
|
title: "Top-level parameters",
|
|
@@ -28417,7 +28663,11 @@ var sections_default2 = [
|
|
|
28417
28663
|
type: "number",
|
|
28418
28664
|
description: "Page number for pagination (1-based)."
|
|
28419
28665
|
},
|
|
28420
|
-
{
|
|
28666
|
+
{
|
|
28667
|
+
name: "limit",
|
|
28668
|
+
type: "number",
|
|
28669
|
+
description: "Results per page. Default: 50."
|
|
28670
|
+
},
|
|
28421
28671
|
{
|
|
28422
28672
|
name: "source_connection_id",
|
|
28423
28673
|
type: "string",
|
|
@@ -28457,13 +28707,25 @@ var sections_default2 = [
|
|
|
28457
28707
|
}
|
|
28458
28708
|
]
|
|
28459
28709
|
},
|
|
28460
|
-
{
|
|
28710
|
+
{
|
|
28711
|
+
type: "heading",
|
|
28712
|
+
level: 3,
|
|
28713
|
+
text: "Operator reference"
|
|
28714
|
+
},
|
|
28461
28715
|
{
|
|
28462
28716
|
type: "param-table",
|
|
28463
28717
|
title: "Operators",
|
|
28464
28718
|
params: [
|
|
28465
|
-
{
|
|
28466
|
-
|
|
28719
|
+
{
|
|
28720
|
+
name: "eq",
|
|
28721
|
+
type: "=",
|
|
28722
|
+
description: "Exact equality."
|
|
28723
|
+
},
|
|
28724
|
+
{
|
|
28725
|
+
name: "neq",
|
|
28726
|
+
type: "!=",
|
|
28727
|
+
description: "Not equal."
|
|
28728
|
+
},
|
|
28467
28729
|
{
|
|
28468
28730
|
name: "gt / gte",
|
|
28469
28731
|
type: "> / >=",
|
|
@@ -28484,7 +28746,11 @@ var sections_default2 = [
|
|
|
28484
28746
|
type: "substring",
|
|
28485
28747
|
description: "Case-insensitive substring match on string fields."
|
|
28486
28748
|
},
|
|
28487
|
-
{
|
|
28749
|
+
{
|
|
28750
|
+
name: "is_empty",
|
|
28751
|
+
type: "null check",
|
|
28752
|
+
description: "Field has no value."
|
|
28753
|
+
},
|
|
28488
28754
|
{
|
|
28489
28755
|
name: "is_not_empty",
|
|
28490
28756
|
type: "presence",
|
|
@@ -28492,14 +28758,22 @@ var sections_default2 = [
|
|
|
28492
28758
|
}
|
|
28493
28759
|
]
|
|
28494
28760
|
},
|
|
28495
|
-
{
|
|
28761
|
+
{
|
|
28762
|
+
type: "heading",
|
|
28763
|
+
level: 3,
|
|
28764
|
+
text: "Example"
|
|
28765
|
+
},
|
|
28496
28766
|
{
|
|
28497
28767
|
type: "code",
|
|
28498
28768
|
language: "json",
|
|
28499
28769
|
title: "Find invoices over 1000 from Acme",
|
|
28500
28770
|
code: '{\n "conditions": [\n { "field": "vendor.name", "operator": "contains", "value": "Acme" },\n { "field": "total_amount", "operator": "gt", "value": 1000 }\n ],\n "sort": { "field": "total_amount", "direction": "desc" },\n "limit": 10\n}'
|
|
28501
28771
|
},
|
|
28502
|
-
{
|
|
28772
|
+
{
|
|
28773
|
+
type: "heading",
|
|
28774
|
+
level: 3,
|
|
28775
|
+
text: "Response shape"
|
|
28776
|
+
},
|
|
28503
28777
|
{
|
|
28504
28778
|
type: "code",
|
|
28505
28779
|
language: "json",
|
|
@@ -28507,20 +28781,61 @@ var sections_default2 = [
|
|
|
28507
28781
|
code: '{\n "documents": [\n {\n "id": "d_abc123",\n "filename": "acme-invoice-q4.pdf",\n "documentType": "invoice",\n "extractedFields": {\n "vendor.name": "Acme Corp",\n "total_amount": 14250.00\n }\n }\n ],\n "total": 1,\n "page": 1,\n "perPage": 10\n}'
|
|
28508
28782
|
},
|
|
28509
28783
|
{
|
|
28510
|
-
type: "
|
|
28511
|
-
|
|
28784
|
+
type: "heading",
|
|
28785
|
+
level: 3,
|
|
28786
|
+
text: "Schema typing (preventive + reactive)"
|
|
28787
|
+
},
|
|
28788
|
+
{
|
|
28789
|
+
type: "paragraph",
|
|
28790
|
+
text: "Numeric operators (`gt`, `gte`, `lt`, `lte`, `between`) only resolve correctly when the schema field is typed as `number`. A field typed as `string` that holds numeric content (e.g. `\u20AC1,500.00`) will silently return zero matches even after extraction. There are two ways to handle this \u2014 pick the right one before constructing the call."
|
|
28791
|
+
},
|
|
28792
|
+
{
|
|
28793
|
+
type: "heading",
|
|
28794
|
+
level: 4,
|
|
28795
|
+
text: "Preventive \u2014 gate on `dataType`"
|
|
28796
|
+
},
|
|
28797
|
+
{
|
|
28798
|
+
type: "paragraph",
|
|
28799
|
+
text: 'Call `talonic_search` first and read `dataType` on the field entry. If `dataType !== "number"`, do **not** issue a numeric operator on that field. Pick a string-friendly operator (`eq`, `contains`) or warn the user that the field needs a `data_type` change in the schema before the query can succeed. This avoids the silent-zero-matches outcome entirely.'
|
|
28800
|
+
},
|
|
28801
|
+
{
|
|
28802
|
+
type: "heading",
|
|
28803
|
+
level: 4,
|
|
28804
|
+
text: "Reactive \u2014 handle `warnings[]`"
|
|
28805
|
+
},
|
|
28806
|
+
{
|
|
28807
|
+
type: "paragraph",
|
|
28808
|
+
text: "When a numeric operator is applied to a string-typed field, the API attaches a `warnings[]` array to the filter response. Each entry has `code`, `message`, `field`/`field_id`, and a `suggestion`. The MCP tool surfaces this in `structuredContent` \u2014 agents should relay the `message` (and `suggestion`, when present) to the user rather than silently retrying."
|
|
28809
|
+
},
|
|
28810
|
+
{
|
|
28811
|
+
type: "code",
|
|
28812
|
+
language: "json",
|
|
28813
|
+
title: "Response with a warning",
|
|
28814
|
+
code: '{\n "data": [],\n "total": 0,\n "warnings": [\n {\n "code": "numeric_operator_on_string_field",\n "message": "Operator `gt` was applied to field `invoice_total` typed as string. Numeric comparisons against string-typed fields use lexicographic ordering and may return zero matches.",\n "field": "invoice_total",\n "field_id": "fld_inv_total",\n "suggestion": "Change the field\'s data_type to `number` in the schema definition."\n }\n ]\n}'
|
|
28815
|
+
},
|
|
28816
|
+
{
|
|
28817
|
+
type: "heading",
|
|
28818
|
+
level: 3,
|
|
28819
|
+
text: "Cost"
|
|
28512
28820
|
},
|
|
28513
|
-
{ type: "heading", level: 3, text: "Cost" },
|
|
28514
28821
|
{
|
|
28515
28822
|
type: "paragraph",
|
|
28516
28823
|
text: "Filter calls are **free** \u2014 they query already-extracted data and do not consume extraction credits."
|
|
28517
28824
|
},
|
|
28518
|
-
{
|
|
28825
|
+
{
|
|
28826
|
+
type: "heading",
|
|
28827
|
+
level: 3,
|
|
28828
|
+
text: "Errors"
|
|
28829
|
+
},
|
|
28519
28830
|
{
|
|
28520
28831
|
type: "param-table",
|
|
28521
28832
|
title: "Common errors",
|
|
28522
28833
|
params: [
|
|
28523
|
-
{
|
|
28834
|
+
{
|
|
28835
|
+
name: "unauthorized",
|
|
28836
|
+
type: "401",
|
|
28837
|
+
description: "Invalid or missing API key."
|
|
28838
|
+
},
|
|
28524
28839
|
{
|
|
28525
28840
|
name: "no_field_match",
|
|
28526
28841
|
type: "422",
|
|
@@ -28535,8 +28850,14 @@ var sections_default2 = [
|
|
|
28535
28850
|
}
|
|
28536
28851
|
],
|
|
28537
28852
|
related: [
|
|
28538
|
-
{
|
|
28539
|
-
|
|
28853
|
+
{
|
|
28854
|
+
label: "talonic_search",
|
|
28855
|
+
slug: "mcp-talonic-search"
|
|
28856
|
+
},
|
|
28857
|
+
{
|
|
28858
|
+
label: "Filter & Search API",
|
|
28859
|
+
slug: "field-autocomplete"
|
|
28860
|
+
}
|
|
28540
28861
|
],
|
|
28541
28862
|
faq: [
|
|
28542
28863
|
{
|
|
@@ -28546,16 +28867,23 @@ var sections_default2 = [
|
|
|
28546
28867
|
{
|
|
28547
28868
|
question: "How do I find field names for filtering?",
|
|
28548
28869
|
answer: "Call talonic_search first. Use fields[] entries where filterable is true \u2014 their canonicalName values are what you pass as the field parameter in filter conditions. Fields with filterable: false have no extracted data yet and cannot be filtered."
|
|
28870
|
+
},
|
|
28871
|
+
{
|
|
28872
|
+
question: "Why does my `talonic_filter` query with `gt` return zero matches on a numeric-looking field?",
|
|
28873
|
+
answer: "The schema field is almost certainly typed as `string`, not `number`. Numeric operators against string-typed fields fall back to lexicographic comparison and silently return zero. Prevention: call `talonic_search` first and check `dataType` before issuing the filter. Recovery: the response's `warnings[]` array explains the issue and suggests a `data_type` change in the schema definition."
|
|
28549
28874
|
}
|
|
28550
28875
|
],
|
|
28551
28876
|
mentions: [
|
|
28552
|
-
"
|
|
28553
|
-
"filter",
|
|
28877
|
+
"canonical field name",
|
|
28554
28878
|
"conditions",
|
|
28879
|
+
"dataType",
|
|
28880
|
+
"filter",
|
|
28881
|
+
"is_not_empty",
|
|
28555
28882
|
"operators",
|
|
28556
|
-
"
|
|
28557
|
-
"
|
|
28558
|
-
"
|
|
28883
|
+
"preventive guard",
|
|
28884
|
+
"schema typing",
|
|
28885
|
+
"talonic_filter",
|
|
28886
|
+
"warnings"
|
|
28559
28887
|
]
|
|
28560
28888
|
},
|
|
28561
28889
|
{
|
|
@@ -28569,7 +28897,11 @@ var sections_default2 = [
|
|
|
28569
28897
|
type: "paragraph",
|
|
28570
28898
|
text: "Fetch full metadata for a single document by ID. Returns filename, page count, detected document type, language, processing log, and link URLs."
|
|
28571
28899
|
},
|
|
28572
|
-
{
|
|
28900
|
+
{
|
|
28901
|
+
type: "heading",
|
|
28902
|
+
level: 3,
|
|
28903
|
+
text: "When to use"
|
|
28904
|
+
},
|
|
28573
28905
|
{
|
|
28574
28906
|
type: "list",
|
|
28575
28907
|
ordered: false,
|
|
@@ -28579,7 +28911,11 @@ var sections_default2 = [
|
|
|
28579
28911
|
"The user asks 'tell me about document X'."
|
|
28580
28912
|
]
|
|
28581
28913
|
},
|
|
28582
|
-
{
|
|
28914
|
+
{
|
|
28915
|
+
type: "heading",
|
|
28916
|
+
level: 3,
|
|
28917
|
+
text: "When NOT to use"
|
|
28918
|
+
},
|
|
28583
28919
|
{
|
|
28584
28920
|
type: "list",
|
|
28585
28921
|
ordered: false,
|
|
@@ -28589,7 +28925,11 @@ var sections_default2 = [
|
|
|
28589
28925
|
"The user has a file but no `document_id` yet \u2192 call `talonic_extract` first."
|
|
28590
28926
|
]
|
|
28591
28927
|
},
|
|
28592
|
-
{
|
|
28928
|
+
{
|
|
28929
|
+
type: "heading",
|
|
28930
|
+
level: 3,
|
|
28931
|
+
text: "Input schema"
|
|
28932
|
+
},
|
|
28593
28933
|
{
|
|
28594
28934
|
type: "param-table",
|
|
28595
28935
|
title: "Parameters",
|
|
@@ -28602,22 +28942,43 @@ var sections_default2 = [
|
|
|
28602
28942
|
}
|
|
28603
28943
|
]
|
|
28604
28944
|
},
|
|
28605
|
-
{
|
|
28945
|
+
{
|
|
28946
|
+
type: "heading",
|
|
28947
|
+
level: 3,
|
|
28948
|
+
text: "Response shape"
|
|
28949
|
+
},
|
|
28606
28950
|
{
|
|
28607
28951
|
type: "code",
|
|
28608
28952
|
language: "json",
|
|
28609
28953
|
title: "Example response",
|
|
28610
28954
|
code: '{\n "id": "d_abc123",\n "filename": "invoice.pdf",\n "documentType": "invoice",\n "language": "en",\n "pageCount": 2,\n "processingLog": [...],\n "links": {\n "self": "https://api.talonic.com/v1/documents/d_abc123",\n "extractions": "https://api.talonic.com/v1/documents/d_abc123/extractions",\n "dashboard": "https://app.talonic.com/documents/d_abc123"\n }\n}'
|
|
28611
28955
|
},
|
|
28612
|
-
{
|
|
28613
|
-
|
|
28956
|
+
{
|
|
28957
|
+
type: "heading",
|
|
28958
|
+
level: 3,
|
|
28959
|
+
text: "Cost"
|
|
28960
|
+
},
|
|
28961
|
+
{
|
|
28962
|
+
type: "paragraph",
|
|
28963
|
+
text: "Free \u2014 metadata lookups do not consume extraction credits."
|
|
28964
|
+
}
|
|
28614
28965
|
],
|
|
28615
28966
|
related: [
|
|
28616
|
-
{
|
|
28617
|
-
|
|
28967
|
+
{
|
|
28968
|
+
label: "SDK Documents",
|
|
28969
|
+
slug: "sdk-documents"
|
|
28970
|
+
},
|
|
28971
|
+
{
|
|
28972
|
+
label: "Get Document",
|
|
28973
|
+
slug: "get-document"
|
|
28974
|
+
}
|
|
28618
28975
|
],
|
|
28619
28976
|
faq: [],
|
|
28620
|
-
mentions: [
|
|
28977
|
+
mentions: [
|
|
28978
|
+
"talonic_get_document",
|
|
28979
|
+
"metadata",
|
|
28980
|
+
"document_id"
|
|
28981
|
+
]
|
|
28621
28982
|
},
|
|
28622
28983
|
{
|
|
28623
28984
|
slug: "mcp-talonic-to-markdown",
|
|
@@ -28630,7 +28991,11 @@ var sections_default2 = [
|
|
|
28630
28991
|
type: "paragraph",
|
|
28631
28992
|
text: "Get OCR-converted markdown for a document. Accepts an existing `document_id` (cheapest \u2014 one API call, no re-processing), or raw file bytes, a local path, or a URL."
|
|
28632
28993
|
},
|
|
28633
|
-
{
|
|
28994
|
+
{
|
|
28995
|
+
type: "heading",
|
|
28996
|
+
level: 3,
|
|
28997
|
+
text: "When to use"
|
|
28998
|
+
},
|
|
28634
28999
|
{
|
|
28635
29000
|
type: "list",
|
|
28636
29001
|
ordered: false,
|
|
@@ -28641,7 +29006,11 @@ var sections_default2 = [
|
|
|
28641
29006
|
"The user has a raw PDF / scan / image and wants markdown directly without designing a schema."
|
|
28642
29007
|
]
|
|
28643
29008
|
},
|
|
28644
|
-
{
|
|
29009
|
+
{
|
|
29010
|
+
type: "heading",
|
|
29011
|
+
level: 3,
|
|
29012
|
+
text: "When NOT to use"
|
|
29013
|
+
},
|
|
28645
29014
|
{
|
|
28646
29015
|
type: "list",
|
|
28647
29016
|
ordered: false,
|
|
@@ -28649,8 +29018,15 @@ var sections_default2 = [
|
|
|
28649
29018
|
"The user wants specific structured fields \u2192 use `talonic_extract` with a schema."
|
|
28650
29019
|
]
|
|
28651
29020
|
},
|
|
28652
|
-
{
|
|
28653
|
-
|
|
29021
|
+
{
|
|
29022
|
+
type: "heading",
|
|
29023
|
+
level: 3,
|
|
29024
|
+
text: "Input schema"
|
|
29025
|
+
},
|
|
29026
|
+
{
|
|
29027
|
+
type: "paragraph",
|
|
29028
|
+
text: "Provide **exactly one** of the following:"
|
|
29029
|
+
},
|
|
28654
29030
|
{
|
|
28655
29031
|
type: "param-table",
|
|
28656
29032
|
title: "Parameters",
|
|
@@ -28682,19 +29058,31 @@ var sections_default2 = [
|
|
|
28682
29058
|
}
|
|
28683
29059
|
]
|
|
28684
29060
|
},
|
|
28685
|
-
{
|
|
29061
|
+
{
|
|
29062
|
+
type: "heading",
|
|
29063
|
+
level: 3,
|
|
29064
|
+
text: "Response shape"
|
|
29065
|
+
},
|
|
28686
29066
|
{
|
|
28687
29067
|
type: "code",
|
|
28688
29068
|
language: "json",
|
|
28689
29069
|
title: "Example response",
|
|
28690
29070
|
code: '{\n "documentId": "d_abc123",\n "markdown": "# Invoice INV-2024-0847\\n\\n**Vendor:** Acme Corp\\n**Date:** 2024-01-15\\n\\n| Item | Qty | Unit Price | Total |\\n|------|-----|------------|-------|\\n| Widget A | 100 | 42.50 | 4,250.00 |\\n| Widget B | 200 | 50.00 | 10,000.00 |\\n\\n**Total: 14,250.00 EUR**"\n}'
|
|
28691
29071
|
},
|
|
28692
|
-
{
|
|
29072
|
+
{
|
|
29073
|
+
type: "heading",
|
|
29074
|
+
level: 3,
|
|
29075
|
+
text: "Cost"
|
|
29076
|
+
},
|
|
28693
29077
|
{
|
|
28694
29078
|
type: "paragraph",
|
|
28695
29079
|
text: "**Free when using `document_id`** \u2014 the document is already ingested. When passing a raw file (`file_data`, `file_path`, `file_url`), the tool auto-ingests via extract first, consuming **one extraction credit**. To avoid unnecessary cost: if you've already extracted a document, reuse the `document_id` from that response."
|
|
28696
29080
|
},
|
|
28697
|
-
{
|
|
29081
|
+
{
|
|
29082
|
+
type: "heading",
|
|
29083
|
+
level: 3,
|
|
29084
|
+
text: "Errors"
|
|
29085
|
+
},
|
|
28698
29086
|
{
|
|
28699
29087
|
type: "param-table",
|
|
28700
29088
|
title: "Common errors",
|
|
@@ -28723,8 +29111,14 @@ var sections_default2 = [
|
|
|
28723
29111
|
}
|
|
28724
29112
|
],
|
|
28725
29113
|
related: [
|
|
28726
|
-
{
|
|
28727
|
-
|
|
29114
|
+
{
|
|
29115
|
+
label: "talonic_extract",
|
|
29116
|
+
slug: "mcp-talonic-extract"
|
|
29117
|
+
},
|
|
29118
|
+
{
|
|
29119
|
+
label: "SDK getMarkdown",
|
|
29120
|
+
slug: "sdk-documents"
|
|
29121
|
+
}
|
|
28728
29122
|
],
|
|
28729
29123
|
faq: [
|
|
28730
29124
|
{
|
|
@@ -28736,7 +29130,12 @@ var sections_default2 = [
|
|
|
28736
29130
|
answer: "If you already called talonic_extract, reuse the document_id from that response to call talonic_to_markdown for free."
|
|
28737
29131
|
}
|
|
28738
29132
|
],
|
|
28739
|
-
mentions: [
|
|
29133
|
+
mentions: [
|
|
29134
|
+
"talonic_to_markdown",
|
|
29135
|
+
"OCR",
|
|
29136
|
+
"markdown",
|
|
29137
|
+
"document_id"
|
|
29138
|
+
]
|
|
28740
29139
|
},
|
|
28741
29140
|
{
|
|
28742
29141
|
slug: "mcp-talonic-list-schemas",
|
|
@@ -28749,7 +29148,11 @@ var sections_default2 = [
|
|
|
28749
29148
|
type: "paragraph",
|
|
28750
29149
|
text: "List all saved schemas in the workspace. Returns each schema with its ID, name, description, version, field count, and full JSON Schema definition."
|
|
28751
29150
|
},
|
|
28752
|
-
{
|
|
29151
|
+
{
|
|
29152
|
+
type: "heading",
|
|
29153
|
+
level: 3,
|
|
29154
|
+
text: "When to use"
|
|
29155
|
+
},
|
|
28753
29156
|
{
|
|
28754
29157
|
type: "list",
|
|
28755
29158
|
ordered: false,
|
|
@@ -28760,7 +29163,11 @@ var sections_default2 = [
|
|
|
28760
29163
|
"You need a `schema_id` for `talonic_extract`."
|
|
28761
29164
|
]
|
|
28762
29165
|
},
|
|
28763
|
-
{
|
|
29166
|
+
{
|
|
29167
|
+
type: "heading",
|
|
29168
|
+
level: 3,
|
|
29169
|
+
text: "When NOT to use"
|
|
29170
|
+
},
|
|
28764
29171
|
{
|
|
28765
29172
|
type: "list",
|
|
28766
29173
|
ordered: false,
|
|
@@ -28768,17 +29175,41 @@ var sections_default2 = [
|
|
|
28768
29175
|
"The user wants to extract data and provides an inline schema \u2192 call `talonic_extract` directly."
|
|
28769
29176
|
]
|
|
28770
29177
|
},
|
|
28771
|
-
{
|
|
28772
|
-
|
|
28773
|
-
|
|
28774
|
-
|
|
29178
|
+
{
|
|
29179
|
+
type: "heading",
|
|
29180
|
+
level: 3,
|
|
29181
|
+
text: "Input schema"
|
|
29182
|
+
},
|
|
29183
|
+
{
|
|
29184
|
+
type: "paragraph",
|
|
29185
|
+
text: "No parameters required."
|
|
29186
|
+
},
|
|
29187
|
+
{
|
|
29188
|
+
type: "heading",
|
|
29189
|
+
level: 3,
|
|
29190
|
+
text: "Cost"
|
|
29191
|
+
},
|
|
29192
|
+
{
|
|
29193
|
+
type: "paragraph",
|
|
29194
|
+
text: "Free \u2014 listing schemas does not consume extraction credits."
|
|
29195
|
+
}
|
|
28775
29196
|
],
|
|
28776
29197
|
related: [
|
|
28777
|
-
{
|
|
28778
|
-
|
|
29198
|
+
{
|
|
29199
|
+
label: "talonic_save_schema",
|
|
29200
|
+
slug: "mcp-talonic-save-schema"
|
|
29201
|
+
},
|
|
29202
|
+
{
|
|
29203
|
+
label: "SDK Schemas",
|
|
29204
|
+
slug: "sdk-schemas"
|
|
29205
|
+
}
|
|
28779
29206
|
],
|
|
28780
29207
|
faq: [],
|
|
28781
|
-
mentions: [
|
|
29208
|
+
mentions: [
|
|
29209
|
+
"talonic_list_schemas",
|
|
29210
|
+
"schemas",
|
|
29211
|
+
"schema_id"
|
|
29212
|
+
]
|
|
28782
29213
|
},
|
|
28783
29214
|
{
|
|
28784
29215
|
slug: "mcp-talonic-save-schema",
|
|
@@ -28791,7 +29222,11 @@ var sections_default2 = [
|
|
|
28791
29222
|
type: "paragraph",
|
|
28792
29223
|
text: "Save a schema definition to the workspace for reuse across future extractions. Returns the saved schema with its assigned `id` (UUID) and `short_id` (`SCH-XXXXXXXX`)."
|
|
28793
29224
|
},
|
|
28794
|
-
{
|
|
29225
|
+
{
|
|
29226
|
+
type: "heading",
|
|
29227
|
+
level: 3,
|
|
29228
|
+
text: "When to use"
|
|
29229
|
+
},
|
|
28795
29230
|
{
|
|
28796
29231
|
type: "list",
|
|
28797
29232
|
ordered: false,
|
|
@@ -28801,7 +29236,11 @@ var sections_default2 = [
|
|
|
28801
29236
|
"The user wants to standardise extraction across many documents of the same type."
|
|
28802
29237
|
]
|
|
28803
29238
|
},
|
|
28804
|
-
{
|
|
29239
|
+
{
|
|
29240
|
+
type: "heading",
|
|
29241
|
+
level: 3,
|
|
29242
|
+
text: "When NOT to use"
|
|
29243
|
+
},
|
|
28805
29244
|
{
|
|
28806
29245
|
type: "list",
|
|
28807
29246
|
ordered: false,
|
|
@@ -28810,7 +29249,11 @@ var sections_default2 = [
|
|
|
28810
29249
|
"The user has not confirmed the schema design \u2014 avoid creating clutter."
|
|
28811
29250
|
]
|
|
28812
29251
|
},
|
|
28813
|
-
{
|
|
29252
|
+
{
|
|
29253
|
+
type: "heading",
|
|
29254
|
+
level: 3,
|
|
29255
|
+
text: "Input schema"
|
|
29256
|
+
},
|
|
28814
29257
|
{
|
|
28815
29258
|
type: "param-table",
|
|
28816
29259
|
title: "Parameters",
|
|
@@ -28834,8 +29277,15 @@ var sections_default2 = [
|
|
|
28834
29277
|
}
|
|
28835
29278
|
]
|
|
28836
29279
|
},
|
|
28837
|
-
{
|
|
28838
|
-
|
|
29280
|
+
{
|
|
29281
|
+
type: "heading",
|
|
29282
|
+
level: 3,
|
|
29283
|
+
text: "Schema format guidance"
|
|
29284
|
+
},
|
|
29285
|
+
{
|
|
29286
|
+
type: "paragraph",
|
|
29287
|
+
text: "**Full JSON Schema (recommended):**"
|
|
29288
|
+
},
|
|
28839
29289
|
{
|
|
28840
29290
|
type: "code",
|
|
28841
29291
|
language: "json",
|
|
@@ -28861,12 +29311,25 @@ var sections_default2 = [
|
|
|
28861
29311
|
type: "callout",
|
|
28862
29312
|
text: "When you call `talonic_save_schema` (or update an existing schema), the API samples the field's prior extracted values. If 80% or more of a string-typed field's values parse as numbers (with at least 5 samples), the response includes a `warnings[]` suggesting `data_type: \"number\"`. Heed the warning if you plan to filter on that field with numeric operators."
|
|
28863
29313
|
},
|
|
28864
|
-
{
|
|
28865
|
-
|
|
29314
|
+
{
|
|
29315
|
+
type: "heading",
|
|
29316
|
+
level: 3,
|
|
29317
|
+
text: "Cost"
|
|
29318
|
+
},
|
|
29319
|
+
{
|
|
29320
|
+
type: "paragraph",
|
|
29321
|
+
text: "Free \u2014 saving a schema does not consume extraction credits."
|
|
29322
|
+
}
|
|
28866
29323
|
],
|
|
28867
29324
|
related: [
|
|
28868
|
-
{
|
|
28869
|
-
|
|
29325
|
+
{
|
|
29326
|
+
label: "talonic_list_schemas",
|
|
29327
|
+
slug: "mcp-talonic-list-schemas"
|
|
29328
|
+
},
|
|
29329
|
+
{
|
|
29330
|
+
label: "Schemas API",
|
|
29331
|
+
slug: "create-schema"
|
|
29332
|
+
}
|
|
28870
29333
|
],
|
|
28871
29334
|
faq: [
|
|
28872
29335
|
{
|
|
@@ -28874,7 +29337,12 @@ var sections_default2 = [
|
|
|
28874
29337
|
answer: "Full JSON Schema ({type: 'object', properties: {...}}) is most reliable. Flat key-type maps ({field: 'type'}) work for simple schemas but are normalized server-side and may produce errors with complex structures."
|
|
28875
29338
|
}
|
|
28876
29339
|
],
|
|
28877
|
-
mentions: [
|
|
29340
|
+
mentions: [
|
|
29341
|
+
"talonic_save_schema",
|
|
29342
|
+
"schema",
|
|
29343
|
+
"JSON Schema",
|
|
29344
|
+
"flat key-type"
|
|
29345
|
+
]
|
|
28878
29346
|
},
|
|
28879
29347
|
{
|
|
28880
29348
|
slug: "mcp-talonic-get-balance",
|
|
@@ -28887,7 +29355,11 @@ var sections_default2 = [
|
|
|
28887
29355
|
type: "paragraph",
|
|
28888
29356
|
text: "Read the user's current Talonic credit balance, EUR value, 30-day burn rate, projected runway, tier, and next-tier-reset timestamp. Use this to make budget-aware decisions before kicking off large batches or re-extractions."
|
|
28889
29357
|
},
|
|
28890
|
-
{
|
|
29358
|
+
{
|
|
29359
|
+
type: "heading",
|
|
29360
|
+
level: 3,
|
|
29361
|
+
text: "When to use"
|
|
29362
|
+
},
|
|
28891
29363
|
{
|
|
28892
29364
|
type: "list",
|
|
28893
29365
|
ordered: false,
|
|
@@ -28897,7 +29369,11 @@ var sections_default2 = [
|
|
|
28897
29369
|
"The user asks how long their balance will last at the current rate."
|
|
28898
29370
|
]
|
|
28899
29371
|
},
|
|
28900
|
-
{
|
|
29372
|
+
{
|
|
29373
|
+
type: "heading",
|
|
29374
|
+
level: 3,
|
|
29375
|
+
text: "When NOT to use"
|
|
29376
|
+
},
|
|
28901
29377
|
{
|
|
28902
29378
|
type: "list",
|
|
28903
29379
|
ordered: false,
|
|
@@ -28906,14 +29382,29 @@ var sections_default2 = [
|
|
|
28906
29382
|
"The user wants to top up credits \u2014 route them to the dashboard at `https://app.talonic.com`."
|
|
28907
29383
|
]
|
|
28908
29384
|
},
|
|
28909
|
-
{
|
|
28910
|
-
|
|
28911
|
-
|
|
29385
|
+
{
|
|
29386
|
+
type: "heading",
|
|
29387
|
+
level: 3,
|
|
29388
|
+
text: "Input schema"
|
|
29389
|
+
},
|
|
29390
|
+
{
|
|
29391
|
+
type: "paragraph",
|
|
29392
|
+
text: "No parameters required."
|
|
29393
|
+
},
|
|
29394
|
+
{
|
|
29395
|
+
type: "heading",
|
|
29396
|
+
level: 3,
|
|
29397
|
+
text: "Response shape"
|
|
29398
|
+
},
|
|
28912
29399
|
{
|
|
28913
29400
|
type: "param-table",
|
|
28914
29401
|
title: "Fields",
|
|
28915
29402
|
params: [
|
|
28916
|
-
{
|
|
29403
|
+
{
|
|
29404
|
+
name: "balance_credits",
|
|
29405
|
+
type: "number",
|
|
29406
|
+
description: "Current credit balance."
|
|
29407
|
+
},
|
|
28917
29408
|
{
|
|
28918
29409
|
name: "balance_eur",
|
|
28919
29410
|
type: "number",
|
|
@@ -28947,12 +29438,25 @@ var sections_default2 = [
|
|
|
28947
29438
|
title: "Example response",
|
|
28948
29439
|
code: '{\n "balance_credits": 1000,\n "balance_eur": 50.00,\n "burn_rate_30d_credits": 240,\n "projected_runway_days": 125,\n "tier": "pro",\n "tier_resets_at": "2026-06-01T00:00:00.000Z"\n}'
|
|
28949
29440
|
},
|
|
28950
|
-
{
|
|
28951
|
-
|
|
29441
|
+
{
|
|
29442
|
+
type: "heading",
|
|
29443
|
+
level: 3,
|
|
29444
|
+
text: "Cost"
|
|
29445
|
+
},
|
|
29446
|
+
{
|
|
29447
|
+
type: "paragraph",
|
|
29448
|
+
text: "Free \u2014 balance lookups do not consume extraction credits."
|
|
29449
|
+
}
|
|
28952
29450
|
],
|
|
28953
29451
|
related: [
|
|
28954
|
-
{
|
|
28955
|
-
|
|
29452
|
+
{
|
|
29453
|
+
label: "talonic_extract",
|
|
29454
|
+
slug: "mcp-talonic-extract"
|
|
29455
|
+
},
|
|
29456
|
+
{
|
|
29457
|
+
label: "Cost & Rate Limits",
|
|
29458
|
+
slug: "mcp-cost-and-limits"
|
|
29459
|
+
}
|
|
28956
29460
|
],
|
|
28957
29461
|
faq: [
|
|
28958
29462
|
{
|
|
@@ -28964,7 +29468,157 @@ var sections_default2 = [
|
|
|
28964
29468
|
answer: "Days of runway at the trailing 30-day average burn rate. The value -1 means no consumption in the trailing window, so runway cannot be computed."
|
|
28965
29469
|
}
|
|
28966
29470
|
],
|
|
28967
|
-
mentions: [
|
|
29471
|
+
mentions: [
|
|
29472
|
+
"talonic_get_balance",
|
|
29473
|
+
"credits",
|
|
29474
|
+
"balance",
|
|
29475
|
+
"tier",
|
|
29476
|
+
"burn rate",
|
|
29477
|
+
"runway"
|
|
29478
|
+
]
|
|
29479
|
+
},
|
|
29480
|
+
{
|
|
29481
|
+
slug: "mcp-talonic-request-upload",
|
|
29482
|
+
parentSlug: "mcp-tools",
|
|
29483
|
+
title: "talonic_request_upload",
|
|
29484
|
+
seoTitle: "talonic_request_upload MCP Tool \u2014 Talonic Docs",
|
|
29485
|
+
description: "Request a browser upload link for files too large for tool-call arguments or when running in a sandboxed hosted environment.",
|
|
29486
|
+
content: [
|
|
29487
|
+
{
|
|
29488
|
+
type: "paragraph",
|
|
29489
|
+
text: "Request a browser upload link for the user. Use this when the user wants to extract a file but you cannot deliver it directly \u2014 the file is too large for tool-call arguments (~32 KB cap on hosted connectors), or you're running in a sandboxed environment (Claude.ai, ChatGPT) that blocks outbound file transfers."
|
|
29490
|
+
},
|
|
29491
|
+
{
|
|
29492
|
+
type: "heading",
|
|
29493
|
+
level: 3,
|
|
29494
|
+
text: "When to use"
|
|
29495
|
+
},
|
|
29496
|
+
{
|
|
29497
|
+
type: "list",
|
|
29498
|
+
ordered: false,
|
|
29499
|
+
items: [
|
|
29500
|
+
"The user has a file to extract but you cannot send it via `file_data` (file larger than ~32 KB, or the environment blocks outbound data).",
|
|
29501
|
+
"You are running in a hosted/sandboxed environment (Claude.ai, ChatGPT) where `file_data` cannot be used reliably.",
|
|
29502
|
+
"The user explicitly asks for an upload link."
|
|
29503
|
+
]
|
|
29504
|
+
},
|
|
29505
|
+
{
|
|
29506
|
+
type: "heading",
|
|
29507
|
+
level: 3,
|
|
29508
|
+
text: "When NOT to use"
|
|
29509
|
+
},
|
|
29510
|
+
{
|
|
29511
|
+
type: "list",
|
|
29512
|
+
ordered: false,
|
|
29513
|
+
items: [
|
|
29514
|
+
"You can deliver the file directly via `file_data` (local stdio installs with small files).",
|
|
29515
|
+
"The file is already accessible via a public URL \u2192 use `file_url` on `talonic_extract`.",
|
|
29516
|
+
"The document is already in the workspace \u2192 use `document_id` on `talonic_extract`."
|
|
29517
|
+
]
|
|
29518
|
+
},
|
|
29519
|
+
{
|
|
29520
|
+
type: "heading",
|
|
29521
|
+
level: 3,
|
|
29522
|
+
text: "How the flow works"
|
|
29523
|
+
},
|
|
29524
|
+
{
|
|
29525
|
+
type: "list",
|
|
29526
|
+
ordered: true,
|
|
29527
|
+
items: [
|
|
29528
|
+
"Call `talonic_request_upload` with the filename. You receive a `document_id`, an `upload_url`, and an `expires_at` timestamp.",
|
|
29529
|
+
"Show the `upload_url` to the user and ask them to open it in their browser.",
|
|
29530
|
+
"The user drops the file on the upload page. The browser uploads directly to Talonic \u2014 no tool-call size cap, no sandbox restriction.",
|
|
29531
|
+
"Poll with `talonic_get_document` using the `document_id` until `status` is `uploaded`.",
|
|
29532
|
+
"Call `talonic_extract` with the `document_id` and a schema to extract structured data."
|
|
29533
|
+
]
|
|
29534
|
+
},
|
|
29535
|
+
{
|
|
29536
|
+
type: "heading",
|
|
29537
|
+
level: 3,
|
|
29538
|
+
text: "Input schema"
|
|
29539
|
+
},
|
|
29540
|
+
{
|
|
29541
|
+
type: "param-table",
|
|
29542
|
+
title: "Parameters",
|
|
29543
|
+
params: [
|
|
29544
|
+
{
|
|
29545
|
+
name: "filename",
|
|
29546
|
+
type: "string",
|
|
29547
|
+
required: true,
|
|
29548
|
+
description: "The name of the file being uploaded, including extension (e.g. `invoice.pdf`). Used to pre-allocate the document and infer MIME type."
|
|
29549
|
+
}
|
|
29550
|
+
]
|
|
29551
|
+
},
|
|
29552
|
+
{
|
|
29553
|
+
type: "heading",
|
|
29554
|
+
level: 3,
|
|
29555
|
+
text: "Response shape"
|
|
29556
|
+
},
|
|
29557
|
+
{
|
|
29558
|
+
type: "code",
|
|
29559
|
+
language: "json",
|
|
29560
|
+
code: '{\n "document_id": "d8f3a1b2-...",\n "upload_url": "https://app.talonic.com/u/abc12345-...",\n "expires_at": "2026-05-27T22:15:00.000Z"\n}'
|
|
29561
|
+
},
|
|
29562
|
+
{
|
|
29563
|
+
type: "param-table",
|
|
29564
|
+
title: "Response fields",
|
|
29565
|
+
params: [
|
|
29566
|
+
{
|
|
29567
|
+
name: "document_id",
|
|
29568
|
+
type: "string",
|
|
29569
|
+
description: "The pre-allocated document ID. Use with `talonic_get_document` to poll status, and with `talonic_extract` once uploaded."
|
|
29570
|
+
},
|
|
29571
|
+
{
|
|
29572
|
+
name: "upload_url",
|
|
29573
|
+
type: "string",
|
|
29574
|
+
description: "URL the user should open in their browser to drop the file. Expires after 15 minutes."
|
|
29575
|
+
},
|
|
29576
|
+
{
|
|
29577
|
+
name: "expires_at",
|
|
29578
|
+
type: "string",
|
|
29579
|
+
description: "ISO 8601 timestamp when the upload link expires."
|
|
29580
|
+
}
|
|
29581
|
+
]
|
|
29582
|
+
},
|
|
29583
|
+
{
|
|
29584
|
+
type: "callout",
|
|
29585
|
+
text: "Upload links are single-use and expire after 15 minutes. If the user doesn't upload in time, call `talonic_request_upload` again to get a fresh link."
|
|
29586
|
+
}
|
|
29587
|
+
],
|
|
29588
|
+
related: [
|
|
29589
|
+
{
|
|
29590
|
+
label: "talonic_extract",
|
|
29591
|
+
slug: "mcp-talonic-extract"
|
|
29592
|
+
},
|
|
29593
|
+
{
|
|
29594
|
+
label: "talonic_get_document",
|
|
29595
|
+
slug: "mcp-talonic-get-document"
|
|
29596
|
+
},
|
|
29597
|
+
{
|
|
29598
|
+
label: "Drag & Drop in Chat",
|
|
29599
|
+
slug: "mcp-drag-drop"
|
|
29600
|
+
}
|
|
29601
|
+
],
|
|
29602
|
+
faq: [
|
|
29603
|
+
{
|
|
29604
|
+
question: "How do I upload a file through Claude.ai to Talonic?",
|
|
29605
|
+
answer: "Call talonic_request_upload with the filename. Show the returned upload_url to the user. They open it in their browser and drop the file. Poll talonic_get_document until status is 'uploaded', then call talonic_extract with the document_id."
|
|
29606
|
+
},
|
|
29607
|
+
{
|
|
29608
|
+
question: "Why can't I just send the file through file_data on Claude.ai?",
|
|
29609
|
+
answer: "Claude.ai's hosted connector caps tool-call arguments at ~32 KB (decoded). Real documents are typically 100 KB to several MB. The browser-handoff upload bypasses this limit entirely by moving the file transfer to the user's browser."
|
|
29610
|
+
}
|
|
29611
|
+
],
|
|
29612
|
+
mentions: [
|
|
29613
|
+
"upload",
|
|
29614
|
+
"browser handoff",
|
|
29615
|
+
"hosted connector",
|
|
29616
|
+
"Claude.ai",
|
|
29617
|
+
"ChatGPT",
|
|
29618
|
+
"file size limit",
|
|
29619
|
+
"sandbox",
|
|
29620
|
+
"upload link"
|
|
29621
|
+
]
|
|
28968
29622
|
},
|
|
28969
29623
|
{
|
|
28970
29624
|
slug: "mcp-schemas-resource",
|
|
@@ -28973,25 +29627,43 @@ var sections_default2 = [
|
|
|
28973
29627
|
seoTitle: "MCP Resources \u2014 Talonic Docs",
|
|
28974
29628
|
description: "Two MCP resources exposed by the Talonic server: talonic://schemas (saved schemas) and talonic://webhooks/reference (webhook event reference).",
|
|
28975
29629
|
content: [
|
|
28976
|
-
{
|
|
29630
|
+
{
|
|
29631
|
+
type: "heading",
|
|
29632
|
+
level: 3,
|
|
29633
|
+
text: "talonic://schemas"
|
|
29634
|
+
},
|
|
28977
29635
|
{
|
|
28978
29636
|
type: "paragraph",
|
|
28979
29637
|
text: "Exposes the saved-schemas list to clients that browse MCP resources separately. Claude Desktop and Cowork render these in the UI. The contents mirror `talonic_list_schemas` but in a browseable form."
|
|
28980
29638
|
},
|
|
28981
|
-
{
|
|
29639
|
+
{
|
|
29640
|
+
type: "heading",
|
|
29641
|
+
level: 3,
|
|
29642
|
+
text: "talonic://webhooks/reference"
|
|
29643
|
+
},
|
|
28982
29644
|
{
|
|
28983
29645
|
type: "paragraph",
|
|
28984
29646
|
text: "Static reference documenting the webhook events the Talonic API can fire (extraction lifecycle, document classification, etc.), their payload shapes, and how to subscribe. Useful when an agent is helping the user wire Talonic into a backend that needs to react to extraction events."
|
|
28985
29647
|
}
|
|
28986
29648
|
],
|
|
28987
|
-
related: [
|
|
29649
|
+
related: [
|
|
29650
|
+
{
|
|
29651
|
+
label: "talonic_list_schemas",
|
|
29652
|
+
slug: "mcp-talonic-list-schemas"
|
|
29653
|
+
}
|
|
29654
|
+
],
|
|
28988
29655
|
faq: [
|
|
28989
29656
|
{
|
|
28990
29657
|
question: "What resources does the Talonic MCP server expose?",
|
|
28991
29658
|
answer: "Two resources: talonic://schemas (browseable list of saved schemas) and talonic://webhooks/reference (static reference for the API's webhook events and payloads)."
|
|
28992
29659
|
}
|
|
28993
29660
|
],
|
|
28994
|
-
mentions: [
|
|
29661
|
+
mentions: [
|
|
29662
|
+
"MCP resource",
|
|
29663
|
+
"talonic://schemas",
|
|
29664
|
+
"talonic://webhooks/reference",
|
|
29665
|
+
"webhooks"
|
|
29666
|
+
]
|
|
28995
29667
|
},
|
|
28996
29668
|
{
|
|
28997
29669
|
slug: "mcp-cost-and-limits",
|
|
@@ -29000,7 +29672,11 @@ var sections_default2 = [
|
|
|
29000
29672
|
seoTitle: "MCP Cost and Rate Limits \u2014 Talonic Docs",
|
|
29001
29673
|
description: "Which MCP tool calls cost extraction credits, rate limit behavior, insufficient-credit handling, and how to avoid re-extraction.",
|
|
29002
29674
|
content: [
|
|
29003
|
-
{
|
|
29675
|
+
{
|
|
29676
|
+
type: "heading",
|
|
29677
|
+
level: 3,
|
|
29678
|
+
text: "What costs credits"
|
|
29679
|
+
},
|
|
29004
29680
|
{
|
|
29005
29681
|
type: "paragraph",
|
|
29006
29682
|
text: "Only extraction operations consume credits. Everything else is free:"
|
|
@@ -29024,14 +29700,26 @@ var sections_default2 = [
|
|
|
29024
29700
|
type: "free",
|
|
29025
29701
|
description: "Document already ingested \u2014 just fetches stored markdown."
|
|
29026
29702
|
},
|
|
29027
|
-
{
|
|
29703
|
+
{
|
|
29704
|
+
name: "talonic_search",
|
|
29705
|
+
type: "free",
|
|
29706
|
+
description: "Queries indexed data."
|
|
29707
|
+
},
|
|
29028
29708
|
{
|
|
29029
29709
|
name: "talonic_filter",
|
|
29030
29710
|
type: "free",
|
|
29031
29711
|
description: "Queries extracted field values."
|
|
29032
29712
|
},
|
|
29033
|
-
{
|
|
29034
|
-
|
|
29713
|
+
{
|
|
29714
|
+
name: "talonic_get_document",
|
|
29715
|
+
type: "free",
|
|
29716
|
+
description: "Metadata lookup."
|
|
29717
|
+
},
|
|
29718
|
+
{
|
|
29719
|
+
name: "talonic_list_schemas",
|
|
29720
|
+
type: "free",
|
|
29721
|
+
description: "Lists saved schemas."
|
|
29722
|
+
},
|
|
29035
29723
|
{
|
|
29036
29724
|
name: "talonic_save_schema",
|
|
29037
29725
|
type: "free",
|
|
@@ -29048,7 +29736,11 @@ var sections_default2 = [
|
|
|
29048
29736
|
type: "callout",
|
|
29049
29737
|
text: "The per-call cost of `talonic_extract` (and `talonic_to_markdown` with a raw file) is also surfaced on the response under `cost` (`costCredits`, `costEur`, `balanceCredits`, plus a breakdown of `cellsResolvedRegistry` and `cellsResolvedAi`). Agents can read this immediately after the call rather than calling `talonic_get_balance` again."
|
|
29050
29738
|
},
|
|
29051
|
-
{
|
|
29739
|
+
{
|
|
29740
|
+
type: "heading",
|
|
29741
|
+
level: 3,
|
|
29742
|
+
text: "Avoiding re-extraction"
|
|
29743
|
+
},
|
|
29052
29744
|
{
|
|
29053
29745
|
type: "paragraph",
|
|
29054
29746
|
text: "Agents should avoid extracting the same document twice. Best practices:"
|
|
@@ -29062,26 +29754,47 @@ var sections_default2 = [
|
|
|
29062
29754
|
"Use `talonic_filter` to query already-extracted data instead of re-extracting with a different schema when the fields you need are already captured."
|
|
29063
29755
|
]
|
|
29064
29756
|
},
|
|
29065
|
-
{
|
|
29757
|
+
{
|
|
29758
|
+
type: "heading",
|
|
29759
|
+
level: 3,
|
|
29760
|
+
text: "Rate limits"
|
|
29761
|
+
},
|
|
29066
29762
|
{
|
|
29067
29763
|
type: "paragraph",
|
|
29068
29764
|
text: "The Talonic API enforces per-key rate limits. When exceeded, the server returns `429 Too Many Requests` with a `X-RateLimit-Reset` header. The MCP server (and the underlying Node SDK) retries automatically with exponential backoff up to `maxRetries` (default: 3). If retries are exhausted, the tool returns an error with the reset timestamp."
|
|
29069
29765
|
},
|
|
29070
|
-
{
|
|
29766
|
+
{
|
|
29767
|
+
type: "heading",
|
|
29768
|
+
level: 3,
|
|
29769
|
+
text: "Insufficient credits"
|
|
29770
|
+
},
|
|
29071
29771
|
{
|
|
29072
29772
|
type: "paragraph",
|
|
29073
29773
|
text: "When extraction credits are exhausted, the API returns `402 Payment Required`. The tool surfaces this as an error. The agent should inform the user that their credit balance is depleted and suggest upgrading their plan or waiting for the daily reset (free tier: 50 extractions/day, resets at midnight UTC)."
|
|
29074
29774
|
},
|
|
29075
|
-
{
|
|
29775
|
+
{
|
|
29776
|
+
type: "heading",
|
|
29777
|
+
level: 3,
|
|
29778
|
+
text: "Free tier limits"
|
|
29779
|
+
},
|
|
29076
29780
|
{
|
|
29077
29781
|
type: "paragraph",
|
|
29078
29782
|
text: "The free tier includes 50 extractions per day (resets at midnight UTC). Search, filter, metadata, and schema operations are unlimited. No credit card required."
|
|
29079
29783
|
}
|
|
29080
29784
|
],
|
|
29081
29785
|
related: [
|
|
29082
|
-
{
|
|
29083
|
-
|
|
29084
|
-
|
|
29786
|
+
{
|
|
29787
|
+
label: "talonic_extract",
|
|
29788
|
+
slug: "mcp-talonic-extract"
|
|
29789
|
+
},
|
|
29790
|
+
{
|
|
29791
|
+
label: "Authentication",
|
|
29792
|
+
slug: "mcp-authentication"
|
|
29793
|
+
},
|
|
29794
|
+
{
|
|
29795
|
+
label: "SDK Retries",
|
|
29796
|
+
slug: "sdk-retries"
|
|
29797
|
+
}
|
|
29085
29798
|
],
|
|
29086
29799
|
faq: [
|
|
29087
29800
|
{
|
|
@@ -29097,7 +29810,14 @@ var sections_default2 = [
|
|
|
29097
29810
|
answer: "The API returns 429 with a reset timestamp. The SDK retries automatically with exponential backoff (up to 3 retries by default)."
|
|
29098
29811
|
}
|
|
29099
29812
|
],
|
|
29100
|
-
mentions: [
|
|
29813
|
+
mentions: [
|
|
29814
|
+
"credits",
|
|
29815
|
+
"rate limits",
|
|
29816
|
+
"429",
|
|
29817
|
+
"402",
|
|
29818
|
+
"free tier",
|
|
29819
|
+
"cost"
|
|
29820
|
+
]
|
|
29101
29821
|
},
|
|
29102
29822
|
{
|
|
29103
29823
|
slug: "mcp-drag-drop",
|
|
@@ -29119,30 +29839,49 @@ var sections_default2 = [
|
|
|
29119
29839
|
type: "paragraph",
|
|
29120
29840
|
text: "From `@talonic/mcp@0.1.4`, agents can pass **`file_data`** (base64-encoded file bytes) and **`filename`** on `talonic_extract` and `talonic_to_markdown`. The agent reads the file bytes from the conversation, base64-encodes them, and passes them through the MCP tool call. The MCP server decodes, infers MIME type from the filename, and uploads to the Talonic API as a normal multipart request. Tool descriptions advertise `file_data` as the recommended input here, so well-trained agents reach for it automatically. No client-side configuration required."
|
|
29121
29841
|
},
|
|
29122
|
-
{
|
|
29842
|
+
{
|
|
29843
|
+
type: "heading",
|
|
29844
|
+
level: 3,
|
|
29845
|
+
text: "Claude.ai hosted connector"
|
|
29846
|
+
},
|
|
29123
29847
|
{
|
|
29124
29848
|
type: "callout",
|
|
29125
29849
|
variant: "warning",
|
|
29126
|
-
text: "Claude.ai's hosted-connector pipeline imposes a hard size limit on tool-call arguments (effectively
|
|
29850
|
+
text: "Claude.ai's hosted-connector pipeline imposes a hard size limit on tool-call arguments (effectively ~32 KB decoded). A base64-encoded real PDF (typically hundreds of KB at minimum) gets truncated before reaching the MCP server. The Talonic API receives ~32 KB, registers an empty document, and the response comes back with `null` extracted fields. This is a Claude.ai platform limit on connectors, not a Talonic MCP server bug."
|
|
29851
|
+
},
|
|
29852
|
+
{
|
|
29853
|
+
type: "paragraph",
|
|
29854
|
+
text: "**Workarounds for Claude.ai users:**"
|
|
29127
29855
|
},
|
|
29128
|
-
{ type: "paragraph", text: "**Workarounds for Claude.ai users:**" },
|
|
29129
29856
|
{
|
|
29130
29857
|
type: "list",
|
|
29131
29858
|
ordered: false,
|
|
29132
29859
|
items: [
|
|
29860
|
+
"`talonic_request_upload`: the recommended path. The agent gets an upload link, the user drops the file in their browser, and the agent continues with the `document_id`. Works with any file size the API accepts.",
|
|
29133
29861
|
"`file_url`: pass a publicly reachable URL; the Talonic API fetches it server-side. Best for files already on the public web.",
|
|
29134
29862
|
"`document_id`: upload the file once via `app.talonic.com`, then reference the returned id. Best for sensitive files you don't want to expose publicly.",
|
|
29135
29863
|
"Switch to a local stdio install (`npx -y @talonic/mcp@latest` in Claude Desktop, Cursor, Cline, etc.) \u2014 local stdio has no parameter-size cap and `file_data` works for any file size the API accepts."
|
|
29136
|
-
]
|
|
29864
|
+
],
|
|
29865
|
+
text: ""
|
|
29137
29866
|
},
|
|
29138
29867
|
{
|
|
29139
29868
|
type: "paragraph",
|
|
29140
|
-
text: "
|
|
29869
|
+
text: "From `@talonic/mcp@0.1.7`, this is solved by the **`talonic_request_upload`** tool. The agent calls it to get a one-time upload URL plus a reserved `document_id`. The user opens the link in their browser and drops the file \u2014 no tool-call size cap, no sandbox restriction. The agent then polls `talonic_get_document` until the file is ready and proceeds with `talonic_extract` using the `document_id`."
|
|
29141
29870
|
}
|
|
29142
29871
|
],
|
|
29143
29872
|
related: [
|
|
29144
|
-
{
|
|
29145
|
-
|
|
29873
|
+
{
|
|
29874
|
+
label: "talonic_extract",
|
|
29875
|
+
slug: "mcp-talonic-extract"
|
|
29876
|
+
},
|
|
29877
|
+
{
|
|
29878
|
+
label: "Installation",
|
|
29879
|
+
slug: "mcp-installation"
|
|
29880
|
+
},
|
|
29881
|
+
{
|
|
29882
|
+
label: "talonic_request_upload",
|
|
29883
|
+
slug: "mcp-talonic-request-upload"
|
|
29884
|
+
}
|
|
29146
29885
|
],
|
|
29147
29886
|
faq: [
|
|
29148
29887
|
{
|
|
@@ -29151,7 +29890,7 @@ var sections_default2 = [
|
|
|
29151
29890
|
},
|
|
29152
29891
|
{
|
|
29153
29892
|
question: "Why does drag-and-drop fail on the Claude.ai connector?",
|
|
29154
|
-
answer: "Claude.ai imposes a
|
|
29893
|
+
answer: "Claude.ai imposes a ~32 KB cap on tool-call argument values. A base64-encoded real PDF cannot fit. Use talonic_request_upload to get a browser upload link \u2014 the user drops the file in their browser, bypassing the cap entirely. Alternatives: file_url (public URL), document_id (upload via app.talonic.com first), or switch to a local stdio install."
|
|
29155
29894
|
}
|
|
29156
29895
|
],
|
|
29157
29896
|
mentions: [
|
|
@@ -29197,11 +29936,23 @@ var sections_default2 = [
|
|
|
29197
29936
|
}
|
|
29198
29937
|
],
|
|
29199
29938
|
related: [
|
|
29200
|
-
{
|
|
29201
|
-
|
|
29939
|
+
{
|
|
29940
|
+
label: "Configuration",
|
|
29941
|
+
slug: "mcp-configuration"
|
|
29942
|
+
},
|
|
29943
|
+
{
|
|
29944
|
+
label: "Introduction",
|
|
29945
|
+
slug: "mcp-introduction"
|
|
29946
|
+
}
|
|
29202
29947
|
],
|
|
29203
29948
|
faq: [],
|
|
29204
|
-
mentions: [
|
|
29949
|
+
mentions: [
|
|
29950
|
+
"architecture",
|
|
29951
|
+
"stdio",
|
|
29952
|
+
"HTTP",
|
|
29953
|
+
"Streamable HTTP",
|
|
29954
|
+
"session"
|
|
29955
|
+
]
|
|
29205
29956
|
},
|
|
29206
29957
|
{
|
|
29207
29958
|
slug: "mcp-configuration",
|
|
@@ -29210,8 +29961,15 @@ var sections_default2 = [
|
|
|
29210
29961
|
seoTitle: "MCP Server Configuration \u2014 Talonic Docs",
|
|
29211
29962
|
description: "Environment variables for the local MCP server and header options for the hosted server.",
|
|
29212
29963
|
content: [
|
|
29213
|
-
{
|
|
29214
|
-
|
|
29964
|
+
{
|
|
29965
|
+
type: "heading",
|
|
29966
|
+
level: 3,
|
|
29967
|
+
text: "Local server (env vars)"
|
|
29968
|
+
},
|
|
29969
|
+
{
|
|
29970
|
+
type: "paragraph",
|
|
29971
|
+
text: "Set via the `env` block in your MCP client config:"
|
|
29972
|
+
},
|
|
29215
29973
|
{
|
|
29216
29974
|
type: "param-table",
|
|
29217
29975
|
title: "Environment variables",
|
|
@@ -29229,7 +29987,11 @@ var sections_default2 = [
|
|
|
29229
29987
|
}
|
|
29230
29988
|
]
|
|
29231
29989
|
},
|
|
29232
|
-
{
|
|
29990
|
+
{
|
|
29991
|
+
type: "heading",
|
|
29992
|
+
level: 3,
|
|
29993
|
+
text: "Hosted server (headers)"
|
|
29994
|
+
},
|
|
29233
29995
|
{
|
|
29234
29996
|
type: "paragraph",
|
|
29235
29997
|
text: "The hosted server at `mcp.talonic.com` is configured entirely via the MCP client config:"
|
|
@@ -29245,11 +30007,22 @@ var sections_default2 = [
|
|
|
29245
30007
|
}
|
|
29246
30008
|
],
|
|
29247
30009
|
related: [
|
|
29248
|
-
{
|
|
29249
|
-
|
|
30010
|
+
{
|
|
30011
|
+
label: "Installation",
|
|
30012
|
+
slug: "mcp-installation"
|
|
30013
|
+
},
|
|
30014
|
+
{
|
|
30015
|
+
label: "Authentication",
|
|
30016
|
+
slug: "mcp-authentication"
|
|
30017
|
+
}
|
|
29250
30018
|
],
|
|
29251
30019
|
faq: [],
|
|
29252
|
-
mentions: [
|
|
30020
|
+
mentions: [
|
|
30021
|
+
"TALONIC_API_KEY",
|
|
30022
|
+
"TALONIC_BASE_URL",
|
|
30023
|
+
"configuration",
|
|
30024
|
+
"headers"
|
|
30025
|
+
]
|
|
29253
30026
|
},
|
|
29254
30027
|
{
|
|
29255
30028
|
slug: "mcp-troubleshooting",
|
|
@@ -29338,7 +30111,12 @@ var sections_default2 = [
|
|
|
29338
30111
|
type: "paragraph",
|
|
29339
30112
|
text: "Extraction credit balance is exhausted. Free tier: 50 extractions/day, resets at midnight UTC. Upgrade plan or wait for reset."
|
|
29340
30113
|
},
|
|
29341
|
-
{
|
|
30114
|
+
{
|
|
30115
|
+
type: "heading",
|
|
30116
|
+
level: 3,
|
|
30117
|
+
id: "ts-cached",
|
|
30118
|
+
text: "Tool descriptions look wrong"
|
|
30119
|
+
},
|
|
29342
30120
|
{
|
|
29343
30121
|
type: "paragraph",
|
|
29344
30122
|
text: "Some MCP clients cache tool descriptions. Restart the client after a server update."
|
|
@@ -29355,12 +30133,28 @@ var sections_default2 = [
|
|
|
29355
30133
|
}
|
|
29356
30134
|
],
|
|
29357
30135
|
related: [
|
|
29358
|
-
{
|
|
29359
|
-
|
|
29360
|
-
|
|
30136
|
+
{
|
|
30137
|
+
label: "Installation",
|
|
30138
|
+
slug: "mcp-installation"
|
|
30139
|
+
},
|
|
30140
|
+
{
|
|
30141
|
+
label: "Configuration",
|
|
30142
|
+
slug: "mcp-configuration"
|
|
30143
|
+
},
|
|
30144
|
+
{
|
|
30145
|
+
label: "Cost & Rate Limits",
|
|
30146
|
+
slug: "mcp-cost-and-limits"
|
|
30147
|
+
}
|
|
29361
30148
|
],
|
|
29362
30149
|
faq: [],
|
|
29363
|
-
mentions: [
|
|
30150
|
+
mentions: [
|
|
30151
|
+
"troubleshooting",
|
|
30152
|
+
"debugging",
|
|
30153
|
+
"errors",
|
|
30154
|
+
"401",
|
|
30155
|
+
"402",
|
|
30156
|
+
"500"
|
|
30157
|
+
]
|
|
29364
30158
|
}
|
|
29365
30159
|
];
|
|
29366
30160
|
|