Overview
Before detection, all runs of whitespace in `code`, including newlines and tabs, are collapsed to single spaces and the result is trimmed, then cut to the first 2,000 characters. Only that prefix is examined, so put the most distinctive part of a long file first. Code that is empty or whitespace-only returns a 400.
The prepared text is sent to a generative AI model with instructions to return the language and its traits as structured JSON. The model's sampling temperature is 0.7, so borderline snippets, such as a few lines that are valid in both C and C++ or in JavaScript and TypeScript, may be labelled differently on repeated calls. Because indentation is collapsed, the model sees layout-sensitive code like Python or YAML without its line structure.
`family` is the language name as the model returns it in upper case, such as `PYTHON`, and `current` is that same name lower-cased. `readable` is a display name and `extension` the common file extension with its leading dot. `likelihood` is the model's own confidence from 0 to 1, not a calibrated probability. `paradigm` is one of object-oriented, functional, procedural, multi-paradigm, declarative or logic, and `isCompiled` is true for languages usually compiled ahead of time and false for interpreted or JIT-run ones. On the Free plan `likelihood`, `family`, `paradigm` and `isCompiled` are null. If the model returns nothing the API answers 404.
Live Test Code Language Detection for AI Agents Source →
The tool
Once your client is connected to the VerveContext server, this appears in its tool list as CodeLanguageDetectionforAIAgents. It is read-only and open-world — it fetches and never mutates anything on your side — so most clients call it without asking you to confirm.
{
"name": "CodeLanguageDetectionforAIAgents",
"arguments": {
"code": "var test = '';"
}
}You do not name the tool yourself; the model picks it. Asking about var test = ''; in the terms this source covers is enough for it to reach for CodeLanguageDetectionforAIAgents on its own — naming it explicitly also works, and is the way to force the call.
Connecting
One server URL covers every source in the catalog, including this one. Authorization is OAuth: the client opens a browser once, and there is no key to paste into a config file.
{
"mcpServers": {
"vervecontext": {
"url": "https://api.vervecontext.com/v1/mcp"
}
}
}https://api.vervecontext.com/v1/mcpPer-client setup — Claude, Cursor, VS Code, ChatGPT — is on the MCP setup page.
Arguments
These are the properties on the tool's inputSchema, so a well-behaved client validates them before the call is made. Premium arguments are accepted on every plan but only take effect on plans that include them.
| Argument | Type | Description |
|---|---|---|
codeRequired | string | The code snippet you want to detect the programming language of length 0–50000 |
What the model gets back
The result carries a structuredContent object matching the tool's declared outputSchema, so a client reads fields without parsing prose. status is "ok" and error is null on success; a null field means the value was not available for that input, not that the call failed.
{
"status": "ok",
"error": null,
"data": {
"likelihood": 0.99,
"family": "PYTHON",
"current": "python",
"readable": "Python Code",
"extension": ".py",
"paradigm": "multi-paradigm",
"isCompiled": false
}
}
Response fields
Paths are relative to data. Premium fields are absent rather than zeroed on plans that do not include them, so check for presence instead of comparing to 0.
| Field | Type | Example | Description |
|---|---|---|---|
likelihoodPremium | number | 0.99 | Confidence score for code language detection (0.0 to 1.0) |
familyPremium | string | PYTHON | Programming language family or category classification |
current | string | python | Detected programming language in lowercase format |
readable | string | Python Code | Human-readable name of the detected programming language |
extension | string | .py | Standard file extension for the detected language |
paradigmPremium | string | multi-paradigm | Programming paradigm: object-oriented, functional, procedural, multi-paradigm |
isCompiledPremium | boolean | false | Whether the language is compiled or interpreted |
Why ground on it
A model can produce something that looks like this answer from its training data, and be confidently out of date or simply wrong. This source returns the current value in a shape you can check, which is the difference between an answer you can cite and one you have to hedge.
Point an evaluation at current: it is the field most worth pinning a claim to, and it is either present and current or absent — never plausibly invented.
Failure modes
Errors come back as tool errors carrying a sentence the model can act on, not a bare status code. Error handling covers the full list.
| Status | What it means |
|---|---|
400 / 422 | The arguments did not validate. The message names the offending one. |
401 | The OAuth session is invalid or expired — reconnect the server. |
403 | Blocked by a key restriction or an IP allow-list. Never a bad identity. |
404 | This source is not part of VerveContext. Check the catalog. |
429 | Out of credits, or a brief rate limit. The message tells them apart. |
A call costs 20 credits each time the tool actually runs; a model that reasons about the tool without calling it costs nothing.
Use cases
- Syntax Highlighting Setup
- Developer forums inspect unformatted user pastes to pick the right code fence tag before rendering highlighted code blocks.
- File Download Naming
- When users export generated snippets from a web interface, editors apply the returned extension to name and save files accurately.
- Documentation Snippet Tagging
- Knowledge base platforms assign language labels to community-submitted examples without forcing authors to pick options from a manual dropdown.
- Support Ticket Routing
- To triage incoming developer issues containing raw scripts or stack traces, ticketing systems route requests based on the detected language.
Other ways to use Code Language Detection for AI Agents
Set up Code Language Detection for AI Agents on VerveContext, or reach the same source a different way. Your VerveContext account and credits work on all of them — one key, one balance.
Related
More in AI/Computer Vision: