QC Database MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| QCDB_CONFIG_DIR | No | Override where tokens/settings are stored. | |
| QCDB_CALLBACK_PORT | No | Local OAuth callback port (default 8765). | 8765 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| loginA | Sign in to QC Database. Opens your web browser so you can log in and pick which organization (company workspace) to connect. Do this once; the connection is then remembered. You choose the project separately with 'set_project'. |
| logoutA | Sign out and forget the saved login on this computer. |
| auth_statusA | Check whether you are signed in and which project is currently active. |
| list_tenantsA | List the organizations (tenants) your account belongs to. Your login is pinned to one of them, chosen at sign-in. |
| list_projectsA | List the projects in your connected organization. Optionally filter by a search term (name, code, client, etc.). |
| set_projectA | Choose the project to work in for the rest of this session. Almost every other tool uses it, so set it before doing anything else. Give either the exact project_id, or a name_or_code to search for (it must match exactly one project). |
| get_active_projectA | Show which project is currently active for this session. |
| list_project_membersA | List the active members of the current project (use their ids when assigning notes or reference requests). |
| list_listsA | List the project's controlled-vocabulary lists (welders, weld types, materials, pipe sizes, equipment, etc.). Use 'list_list_items' to read one. |
| list_list_itemsA | Read the entries in one controlled-vocabulary list. Each entry includes a 'pseudo_code' pill token - paste that verbatim into a map item field so the value stays linked to the canonical list entry instead of being free text. |
| list_map_item_schemasA | List the map item schemas available in this project. A schema (e.g. 'Weld') defines the custom fields a map item carries - you need its id to create one. |
| list_document_foldersA | List the document folders (document types) and their extraction schemas - e.g. an 'MTR' folder that extracts heat number and material grade. Use a folder id when uploading a document so it is filed and extracted correctly. |
| list_documentsA | List uploaded documents in the current project. Optionally filter by a document folder id, status (uploading/processing/extracting/ready/error), or a search term. |
| upload_documentA | Upload a record (MTR, NDE report, certificate, procedure, etc.) to the current project. Optionally file it under a document folder id (recommended, so the right extraction schema runs). Set do_not_extract=True if you will supply the extracted data yourself with 'set_document_extracted_data'. |
| get_documentB | Get one document's details, including its AI-extracted structured data. |
| set_document_extracted_dataA | Write structured fields back onto a document (used after you run your own 'bring your own AI' extraction). 'extracted_data' is a JSON object string matching the folder's schema. |
| upload_drawingA | Upload an isometric drawing (PDF) to the current project. Multi-page PDFs are split into one drawing per sheet. Set do_not_extract=True to skip the server-side AI extraction. |
| upload_large_format_drawingA | Upload a large-format drawing (P&ID, plan, elevation, overview) PDF to the current project. Set do_not_extract=True to skip server-side AI extraction. |
| list_map_itemsA | List map items (welds, flanges, fittings...) in the current project. Optionally filter by drawing id, schema id, status, or a search term. |
| create_map_itemA | Create a map item (a weld, flange, fitting...) pinned to a drawing. Use a schema id from 'list_map_item_schemas'. 'data' is a JSON object of the schema's custom fields; for fields that map to a controlled list, put that list item's 'pseudo_code' pill (from 'list_list_items') as the value instead of free text. |
| mark_map_item_completeA | Mark a map item complete. This is a buy-off recorded under YOUR name and the current time. Only do this when the user has confirmed the work is done - the user is responsible for this sign-off. |
| mark_map_item_acceptedA | Mark a map item accepted (must already be complete). This is a buy-off recorded under YOUR name. Only do this with the user's explicit go-ahead - the user is accountable for the acceptance. |
| list_fillable_templatesA | List document folders that publish a fillable PDF template (RIR, inspection checklist, test report...) you can fill out and file. |
| get_fillable_templateA | Read a fillable template's form fields and its project-resolved autofill values, so you know what to fill in before downloading and submitting it. |
| download_fillable_templateA | Download the blank fillable PDF for a folder to a local path so you can fill it in (ideally flatten it) before submitting. |
| submit_fillable_templateA | Submit a filled PDF back into a template's folder as a document. Re-using a file_name creates a new version of that document. Set do_not_extract=True if you will supply the extracted JSON yourself. Note: filling the PDF stores the signed record; to also populate structured fields, follow up with 'set_document_extracted_data' on the returned document. |
| list_form_submissionsA | List inspection-form submissions in the current project. Optionally filter by a form schema id or status (draft/completed). |
| create_form_submissionA | Start a new inspection-form submission from a form schema id. 'data' is an optional JSON object of initial field values. It is created as a draft; use 'complete_form_submission' to lock it once finished. |
| complete_form_submissionA | Mark a form submission complete. Completed forms are evidence that can satisfy reference requests. This locks the submission - only do it when the user confirms the form is finished. |
| create_noteA | Create a note (observation, action item, issue) on the current project. Optionally make it private, set a severity, anchor it to a page_url, and assign (@mention) it to a project member by their user id. |
| list_notesA | List the public notes feed for the current project. status can be 'all' (default), 'open', or 'resolved'. |
| resolve_noteA | Mark a note resolved, with an optional resolution comment. |
| list_itp_line_itemsA | List ITP (Inspection & Test Plan) line items in the current project - the required inspection/test steps. Optionally filter by package id, and by completed / accepted (true or false). |
| mark_itp_completeA | Mark an ITP line item complete. This is a buy-off recorded under YOUR name. Only do this when the user confirms the activity is done - the user is responsible for the sign-off. |
| mark_itp_acceptedA | Mark an ITP line item accepted (must already be complete). This is a buy-off recorded under YOUR name. Only do this with the user's explicit go-ahead. |
| attach_photoC | Attach a photo to an object (for example object_type='map_item' with that item's id). Optionally add a caption. |
| list_reference_requestsA | List reference requests - the tracked 'still-needs-proof' items. By default shows OPEN ones, which together are the punch list standing between the team and a complete turnover package. Pass status='all' (or fulfilled/cancelled) or an assignee user id to filter. |
| create_reference_requestA | Create a reference request (record that a source item still needs proof). item_type is map_item, itp_item, or list_item. reference_type is 'document' (then give document_folder) or 'custom_form' (then give form_schema). Optionally assign it to a project member and add a description. |
| list_referencesB | List the references already attached to a source item. source_type is map_item, list_item, or itp_line_item. |
| create_referenceA | Link a source item to its proof - this is how a turnover package gets completed. source_type is map_item, list_item, or itp_line_item. target_type is 'document' or 'form' (a form submission). Creating a matching reference fulfils any open reference request for that item. |
| turnover_reportA | Summarize how close the current project is to a complete turnover package: open vs. fulfilled reference requests (the 'what's missing' list), and ITP line items not yet completed or accepted. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ProcessQualitySolutions/qcdatabase_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server