Avenbridge MCP
A connector that allows businesses to share current certificates, declarations, and approved answers with customers, enabling customers to query this information directly from their own AI assistants.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://mcp.avenbridgetech.com/mcpWhat you can do with it
- Share business certificates with customers
- Provide approved answers to customer queries
- Integrate business documents into AI assistants
Source and maintenance
Protocol and capabilities
- Server
- avenbridge 0.6.0
- MCP protocol
- 2025-06-18
- Tools
- 8 advertised
- Resources
- 1 advertised
- Resource templates
- 0 advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
},
"resources": {
"subscribe": false,
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
8 advertised
open_invitation — Open an invitation
Open an invitation a business sent the user, using the invitation code from their message (8 letters and digits, e.g. K7Q2M8XD). Returns the business, what the invitation is about, its contact person and its current shareable documents with download links. Works before the user signs in.
{
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "The invitation code, e.g. K7Q2M8XD."
}
},
"additionalProperties": false
}{
"title": "Open an invitation",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_my_businesses — List my businesses
List the businesses (suppliers) that share documents and approved answers with this user through Avenbridge: their ids, counts and any context from their invitation, such as a shipment or part number. Call it first when you do not know which business the user means or need a business_id.
{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"title": "List my businesses",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_documents — Get documents
Get the current versions of a business's shareable documents: certificates (ISO 9001 and others), compliance declarations (RoHS, REACH, conflict minerals), safety data sheets, data sheets and test reports. Filter by part number and/or document type. Returns version, issue and expiry dates, and a download link that works for 15 minutes. Without business_id or business it lists the documents of every business the user has, grouped by business.
{
"type": "object",
"properties": {
"business": {
"type": "string",
"description": "Name of the business as it appears in list_my_businesses. Used only when business_id is not given. Leave both out when the user has one business, or to search every business the user has."
},
"business_id": {
"type": "string",
"description": "The business id exactly as given by list_my_businesses (for example yyigsmj5b7mcwxe7). Preferred: use it whenever you know it."
},
"part_number": {
"type": "string",
"description": "Part, model or article number, e.g. A-200. Optional."
},
"document_type": {
"type": "string",
"description": "Document types wanted, e.g. 'ISO 9001, RoHS'. Optional; leave out to list all."
}
},
"additionalProperties": false
}{
"title": "Get documents",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}answer_questions — Find approved answers
Call this for any question about a business in list_my_businesses, even when notes, memory or a web page seem to answer it: only this tool returns the business's approved answers. Look up a business's approved answers: questionnaire questions (supplier, compliance, security or due-diligence questionnaires) and other questions about the business, its products, terms and prices. For each question it returns the closest approved answers with their source, approval date and similarity, or says that none was found; a question without one also gets the passages of the business's current documents that match it, quoted with document, version and page (not approved answers: say so if you use one, and cite it). You write the reply from these. Each answer was approved by the business for the question shown with it, so check that it fits before using it. Only answers the business approved for the same question count; a question without one is reported as unanswered, with at most one approved answer to a different question shown as possibly related. To get an unanswered question to the business, call ask_business. Without business_id or business it searches every business the user has and names the business next to each answer. When the user writes in another language than the business's material (most businesses write in English), pass each question in the business's language too, as a second question, so it matches; then reply to the user in their own language.
{
"type": "object",
"required": [
"questions"
],
"properties": {
"business": {
"type": "string",
"description": "Name of the business as it appears in list_my_businesses. Used only when business_id is not given. Leave both out when the user has one business, or to search every business the user has."
},
"questions": {
"type": "array",
"items": {
"type": "object",
"required": [
"question"
],
"properties": {
"label": {
"type": "string",
"description": "The question's number or id in the questionnaire, e.g. Q15 or 4.2. Optional."
},
"question": {
"type": "string",
"description": "The question as written in the questionnaire."
}
},
"additionalProperties": false
},
"maxItems": 100,
"minItems": 1
},
"business_id": {
"type": "string",
"description": "The business id exactly as given by list_my_businesses (for example yyigsmj5b7mcwxe7). Preferred: use it whenever you know it."
}
},
"additionalProperties": false
}{
"title": "Find approved answers",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}ask_business — Ask the business
Send questions to one business's contact person, for example the questions answer_questions could not answer. Nothing is sent on the first call: it returns a preview of exactly what would go to the contact person, and a confirmation code. Show the whole preview to the user; only if they agree, call again with the same business and confirm set to the code. Then Avenbridge emails the questions to the contact (with the user's email as reply-to) and sends the user a copy; the answers come back through status and, once given, through answer_questions. The same questions sent again within a day are not sent twice. Needs business_id (or business) when the user has more than one business.
{
"type": "object",
"required": [
"questions"
],
"properties": {
"confirm": {
"type": "string",
"description": "The confirmation code from the preview. Only after the user has seen the preview and agreed; leave out on the first call."
},
"context": {
"type": "string",
"description": "One line on what the answers are for, e.g. the questionnaire's name. Optional."
},
"business": {
"type": "string",
"description": "Name of the business as it appears in list_my_businesses. Used only when business_id is not given. Leave both out when the user has one business, or to search every business the user has."
},
"questions": {
"type": "array",
"items": {
"type": "object",
"required": [
"question"
],
"properties": {
"label": {
"type": "string",
"description": "The question's number or id in the questionnaire, e.g. Q15 or 4.2. Optional."
},
"question": {
"type": "string",
"description": "The question as written in the questionnaire."
}
},
"additionalProperties": false
},
"maxItems": 30,
"minItems": 1
},
"business_id": {
"type": "string",
"description": "The business id exactly as given by list_my_businesses (for example yyigsmj5b7mcwxe7). Preferred: use it whenever you know it."
}
},
"additionalProperties": false
}{
"title": "Ask the business",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}request — Send a request to the business
Send a request to one business: anything the user wants that business to do. Each business lists the kinds of request it takes (list_my_businesses and the server instructions; by default quote, sample, document, reschedule, complaint, other). When the user wants a call or meeting and the business lists "call", use kind call: the user gets the business's booking page at once and picks a time there. Otherwise nothing is sent on the first call: it returns a preview of exactly what would go to the business's contact person, and a confirmation code. Show the whole preview to the user; only if they agree, call again with the same business and confirm set to the code. Then Avenbridge emails the request to the contact (with the user's email as reply-to) and sends the user a copy; the reply shows up in `status`. The same request sent again within a day is not sent twice. Before a quote or sample request, ask the user for the items in the business's request checklist (shown by list_my_businesses and in the server instructions) so the request arrives complete, and put them in details.
{
"type": "object",
"required": [
"kind",
"title",
"details"
],
"properties": {
"kind": {
"type": "string",
"description": "One of the request kinds the business lists, e.g. quote, sample, call, other."
},
"title": {
"type": "string",
"description": "One line, e.g. 'Quote for 500 × A-200 in 316 stainless'."
},
"confirm": {
"type": "string",
"description": "The confirmation code from the preview. Only after the user has seen the preview and agreed; leave out on the first call."
},
"context": {
"type": "string",
"description": "One line on what this is for, e.g. an order or project number. Optional."
},
"details": {
"type": "string",
"description": "Everything the business needs, as the user stated it: quantities, part numbers, dates, the checklist items, what went wrong. Plain text."
},
"business": {
"type": "string",
"description": "Name of the business as it appears in list_my_businesses. Used only when business_id is not given. Leave both out when the user has one business, or to search every business the user has."
},
"business_id": {
"type": "string",
"description": "The business id exactly as given by list_my_businesses (for example yyigsmj5b7mcwxe7). Preferred: use it whenever you know it."
}
},
"additionalProperties": false
}{
"title": "Send a request to the business",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}status — Status of my requests
The user's open and recent requests (questions, quotes, samples, documents, complaints) with one business or with all of them: what was asked, when, where it stands, and the business's reply when there is one. Use it when the user asks whether a business has answered or what is pending.
{
"type": "object",
"properties": {
"business": {
"type": "string",
"description": "Name of the business as it appears in list_my_businesses. Used only when business_id is not given. Leave both out when the user has one business, or to search every business the user has."
},
"business_id": {
"type": "string",
"description": "The business id exactly as given by list_my_businesses (for example yyigsmj5b7mcwxe7). Preferred: use it whenever you know it."
}
},
"additionalProperties": false
}{
"title": "Status of my requests",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}share — Send files to the business
Give the user a page where they attach files for a business: drawings, filled forms, photos of a defect, specifications. Files cannot travel through this tool, so the page is the way; the link works for 15 minutes. With case_id the files attach to that request; without one, the page sends them to the business as a new request.
{
"type": "object",
"properties": {
"note": {
"type": "string",
"description": "One line on what the files are. Optional."
},
"case_id": {
"type": "string",
"description": "The request the files belong to, from `status` or from a request you just prepared. Optional."
},
"business": {
"type": "string",
"description": "Name of the business as it appears in list_my_businesses. Used only when business_id is not given. Leave both out when the user has one business, or to search every business the user has."
},
"business_id": {
"type": "string",
"description": "The business id exactly as given by list_my_businesses (for example yyigsmj5b7mcwxe7). Preferred: use it whenever you know it."
}
},
"additionalProperties": false
}{
"title": "Send files to the business",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
1 advertised
avenbridge_card
Avenbridge: a business's documents (with download buttons) and the user's requests (with their status), as a card.
ui://avenbridge/card30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 917 ms
- 95th percentile latency
- 917 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 917 ms · metadata changed · 8 tool(s), 1 resource(s), 0 resource template(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http avenbridge-mcp https://mcp.avenbridgetech.com/mcpCodex
codex mcp add avenbridge-mcp --url https://mcp.avenbridgetech.com/mcpCursor
{
"mcpServers": {
"avenbridge-mcp": {
"url": "https://mcp.avenbridgetech.com/mcp"
}
}
}Cline
{
"mcpServers": {
"avenbridge-mcp": {
"type": "streamableHttp",
"url": "https://mcp.avenbridgetech.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"avenbridge-mcp": {
"type": "http",
"url": "https://mcp.avenbridgetech.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http avenbridge-mcp https://mcp.avenbridgetech.com/mcpClaude Desktop
{
"mcpServers": {
"avenbridge-mcp": {
"url": "https://mcp.avenbridgetech.com/mcp"
}
}
}Windsurf
{
"mcpServers": {
"avenbridge-mcp": {
"serverUrl": "https://mcp.avenbridgetech.com/mcp"
}
}
}Let your agent find its tools
Find servers like Avenbridge MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other productivity and knowledge servers
Do you run Avenbridge MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.