Put your products inside ChatGPT, Claude and Copilot with an MCP server
An MCP server lets an AI assistant look things up in your catalog while it answers a buyer, instead of guessing from the open web. We build it as a small, read-only service on your own domain. One is already live for a real manufacturer's 1,432 models, and you can connect it yourself in a minute.
Live for PTP CNC Toolings
- search_productsFree text plus taper, standard and family filters
- find_pull_studThe site's pull stud finder, as a tool an AI can call
- Every answer links the model pagePrices and CAD stay with the manufacturer
Buyers already ask ChatGPT and Claude which part fits their machine. Today the assistant answers from whatever it can find on the web, and often names a competitor or makes up a part number. An MCP server changes that: the assistant asks your catalog directly and gets your exact ordering codes, dimensions and page links back.
MCP (Model Context Protocol) is the open standard that ChatGPT, Claude, Microsoft Copilot Studio and many other AI tools use to connect to outside data. ChatGPT app development uses the same thing: OpenAI's Apps SDK is built on MCP, so one server serves all of them.
Most MCP server development companies show a diagram. This page shows a working endpoint, the exact calls we ran against it on 1 November 2026, what came back and how long it took. Krira Digital is a small software studio in Belagavi, India. We build catalog websites for manufacturers, and the MCP server that sits beside them. We work with US companies remotely, with calls in your morning.
- Live MCP endpoint (POST)
- kriradigital.com/api/mcp
- Catalog behind it
- ptpcnctoolings.com: 1,432 model pages
- MCP specification, current rev. 2026-07-28
- modelcontextprotocol.io
- Tested with
- MCP Inspector 2.13.0 (official client)
- Add it to ChatGPT
- OpenAI: Add custom MCP server
- Add it to Claude
- Claude: custom connectors (remote MCP)
- Add it to Copilot Studio
- Microsoft: connect an existing MCP server
- Directory review rules today
- OpenAI: submission guide
What an MCP server is, in one paragraph
It is a small web service with a list of named tools, such as "search products" or "get product". Each tool says in plain words what it does and what it needs. When a user asks an AI assistant a question your tools can answer, the assistant calls the tool, reads the result and writes its answer from your data, with your links. The assistant does the talking; your server only answers precise questions. Nothing runs inside OpenAI or Anthropic that you don't control, and you can switch it off at any time.
The four tools on PTP's live server
| What it does | Example question it answers | |
|---|---|---|
| search_products | Free-text search across all 1,432 models, with optional taper, standard and family filters. Up to 20 results with code, name, key specs and page URL. | "BT40 ER32 collet chuck, what lengths do you make?" |
| get_product | The full published record for one ordering code: every value in the page's spec table, family, standard and URL. | "What is the overall length of PSJIS4013COI?" |
| find_pull_stud | The site's Pull Stud Finder as a tool: taper, standard, thread, head angle and coolant type in, matching codes out, plus the options left for any filter not given. | "Which pull stud fits a BT40 MAS-BT spindle, M16, 45°, through-coolant?" |
| contact_ptp | PTP's public phone, WhatsApp, email and address, with the model page for a quote. It sends nothing itself. | "How do I get a price for that one?" |
All four are marked read-only (readOnlyHint: true, destructiveHint: false). No tool writes, sends or charges anything. Every result includes the ptpcnctoolings.com page URL and the line "Prices and CAD on request from PTP".
Live test log: what we ran on 1 November 2026
| What we sent | What came back | Time | |
|---|---|---|---|
| tools/list | npx -y @modelcontextprotocol/inspector --cli https://kriradigital.com/api/mcp --transport http --method tools/list | Exit 0. Four tools: search_products, get_product, find_pull_stud, contact_ptp, each with readOnlyHint: true. The same four with --protocol-era modern (the 2026-07-28 revision). | About 3.6 s per CLI run, client start-up included |
| search_products | query "BT40 ER32 collet chuck", limit 3 | total_matches 4, returned 3: 47BT40ER3270 (BT40 ER32 Collet Chuck 70 mm: collet ER32, clamping range 2–20 mm, nut Ø 50 mm, gauge length 70 mm), 47BT40ER32100 and 47BT40ER32150, each with its page URL. | About 2.8 s per CLI run, start-up included |
| get_product | code PSJIS4013COI | BT40 Pull Stud 15°, 5/8", Coolant, Seal Ring. JIS B6339 · ISO 7388-3:2016(E). Knob Ø (A) 16.28 mm, overall length (D) 51.15 mm, coolant hole Ø (J) 7 mm, pilot Ø (K) 23 mm, and nine values in all. | About 2.7 s per CLI run, start-up included |
| find_pull_stud | taper BT40, standard MAS-BT, thread M16, head angle 45°, coolant | total_matches 3: PSBT4016MCP, PSI4B4001COOT (with seal ring and O-ring) and PSI4B4001RCO (with seal ring). Each: knob Ø (A) 17 mm, B 15 mm, neck Ø (C) 10 mm. | About 2.8 s per CLI run, start-up included |
| Raw HTTP, 10 calls | The same get_product call sent ten times with curl, no client start-up | HTTP 200 every time, the same record each time. | 0.36 to 0.60 s, median 0.44 s |
Method: the official MCP Inspector CLI, version 2.13.0, run from a cloud machine in the US through a proxy. The server runs as one serverless function in Vercel's Mumbai region, near PTP, so most of the 0.44 s is the trip across the world, not the lookup. Our earlier local test log measured 0.2 to 2 ms per tool call once warm. Your numbers will differ by location.
A real request and the real answer
Request (JSON-RPC, POST to https://kriradigital.com/api/mcp): {"jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": {"name": "find_pull_stud", "arguments": {"taper": "BT40", "standard": "MAS-BT", "thread": "M16", "head_angle": "45°", "coolant": "coolant"}}}
Response, trimmed, from the live server on 1 November 2026: "total_matches": 3, "returned": 3. First result: "code": "PSBT4016MCP", "name": "BT40 Pull Stud 45°, M16, Coolant", "family": "MAS-BT Pull Studs", "key_specs": {"Knob Ø (A)": "17 mm", "B": "15 mm", "Neck Ø (C)": "10 mm"}, "url": "https://www.ptpcnctoolings.com/p/PSBT4016MCP". Then PSI4B4001COOT and PSI4B4001RCO in the same shape, and "note": "Prices and CAD on request from PTP".
An assistant turns that into a short answer with three part numbers and three links. The engineer clicks through to PTP's page, checks the drawing and asks for a quote. The numbers come from PTP's own pages, copied by a sync script; nothing is typed in by hand and nothing is guessed. Where a page does not publish a value, the server returns null rather than invent one.
Connect it yourself in 60 seconds
- 1ClaudeGo to Customize > Connectors, press + Add, then "Add custom connector". Enter a name and paste https://kriradigital.com/api/mcp, press Continue twice, choose "No sign in" under Authentication and press Add. In a chat, press + > Connectors and switch it on. Free plans get one custom connector. On Team and Enterprise, an owner adds it under Organization settings > Connectors.
- 2ChatGPTOn the web, open chatgpt.com/plugins, press +, choose "Add custom MCP server", give it a name and paste https://kriradigital.com/api/mcp as the Server URL. Pick No authentication, press "I understand and want to continue", then "Create as a plugin" and install it. Workspace settings can block this.
- 3Then ask it"Which pull stud fits a BT40 MAS-BT spindle, M16 thread, 45° head, through-coolant?" You should get PSBT4016MCP and two seal-ring versions, with links. Any other MCP client, such as Copilot Studio or the Inspector, uses the same URL over Streamable HTTP.
Is a ChatGPT app the same as an MCP server?
Mostly, yes. OpenAI's Apps SDK is built on MCP: the app's tools are an MCP server on a public HTTPS address. An app can also add its own small interface inside the chat, such as a product card or a spec table, but the data and actions come from the same server. Claude and Copilot Studio connect to the same server without any change.
So the order of ChatGPT app development is: build the MCP server with good tools first, test it in ChatGPT, Claude and the Inspector, then decide whether a directory listing or a custom chat interface is worth it.
MCP server vs custom GPT vs plain API vs product feed
| MCP server | Custom GPT | Plain REST API | Product feed | |
|---|---|---|---|---|
| What it is | A small service with named tools that AI assistants call while they answer | A ChatGPT set-up with instructions and files, made in OpenAI's GPT builder | Endpoints your own developers or partners call | A file of products that a shopping platform reads on a schedule |
| Where it works | ChatGPT, Claude, Copilot Studio and other MCP clients | ChatGPT only | Wherever someone writes code for it | The platform that reads the feed |
| Exact, current answers | Yes: each call reads your data now | Only as fresh as the files you upload, unless it calls an API | Yes, but no AI uses it on its own | As fresh as the last feed run |
| Technical questions (fit, dimensions) | Yes, if you design tools for them, like PTP's pull stud finder | Limited to what is in its files | Yes, for programmers | Rarely: feeds carry price, title and a few attributes |
| Best for | Spec-heavy catalogs that buyers ask about in AI chats | A quick internal helper for your own team | Partners and your own apps | Retail products with prices and stock |
They are not rivals. PTP's MCP server reads the same data as its website. If you already have an API, the MCP server can sit on top of it.
MCP server build checklist
| What to decide | What PTP's server does | |
|---|---|---|
| Data model | One clean record per product: code, name, family, standard, specs as name-value pairs, page URL. Missing values stay empty, never guessed. | 1,432 records copied from the model pages by a sync script, with a data date in every answer |
| Tool design | Few tools, each matching a real buyer question, with plain descriptions and strict input schemas. Return the page URL every time. | Four tools; unknown arguments are refused; a wrong code returns "did you mean" suggestions |
| Auth | None for public catalog facts. OAuth 2.1 when users must sign in, as the MCP authorization spec describes. An API key header for server-to-server use. | No sign-in: it only returns what PTP already publishes |
| Rate limits | The spec says servers must rate limit tool calls. Set a per-caller limit and return a clear error. | 240 calls per minute per caller, per server instance |
| Hosting | Any HTTPS host. A catalog lookup is light, so a serverless function is enough. Pick a region near most callers. | One serverless function on Vercel, inside the same project as this website |
| Spec versions | The current revision is 2026-07-28 (stateless, server/discover). Many clients still speak the 2025 handshake versions. Support both. | 2026-07-28 plus 2025-11-25, 2025-06-18 and 2025-03-26 on one URL |
| Errors and safety | The spec says servers must validate inputs, control access, rate limit and sanitize outputs. Clients must treat tool hints as untrusted unless the server is trusted. | Inputs checked, small responses, origin check, read-only hints on every tool |
| Testing | Test with the MCP Inspector in each protocol mode, then in ChatGPT and Claude. Keep a written log. | 37 automated checks plus the Inspector runs above |
Spec facts from modelcontextprotocol.io (versioning, tools and authorization pages, revision 2026-07-28), read on 1 November 2026.
How your data stays safe
A catalog server only needs public facts, so the simplest safe design is read-only tools over data you already publish. That is how PTP's server works: the data is bundled with the code, it makes no outside calls when a tool runs, it holds no secrets and it cannot write anything. Inputs are checked, responses are small, and there is a rate limit per caller.
When a tool must touch private data, such as dealer prices or stock, we add OAuth so each user signs in, and give each tool only the access it needs. Under OpenAI's rules, ChatGPT asks the user to confirm write actions by default, and a published directory app cannot quietly add new tools: they wait for review. The MCP spec itself says clients should keep a human in the loop who can deny a tool call.
MCP server development cost and time: what firms publish
| Build cost | Time | Source | |
|---|---|---|---|
| Single server, one system | $8,000 to $18,000 | 2 to 4 weeks | Groovy Web, MCP development cost guide |
| Single system, 5 to 10 tools | $8,000 to $15,000 | 2 to 4 weeks | ScalaCode, published 20 Jul 2026 |
| Multi-tool or multi-system server | $15,000 to $30,000 (Groovy Web); $20,000 to $45,000 (ScalaCode) | 4 to 10 weeks | Groovy Web; ScalaCode |
| Public or third-party MCP server | $20,000 to $45,000 | 5 to 8 weeks | Groovy Web |
| Basic MVP to enterprise | $25,000 to $400,000+; most production builds $40,000 to $120,000 | 4 to 6 weeks for an MVP | Bacancy, updated 25 May 2026 |
| Ongoing maintenance | $2,000 to $6,000 a month (ScalaCode); 20 to 30% of build cost a year (Bacancy) | Ongoing | ScalaCode; Bacancy |
| Running PTP's server | No separate server bill: one function in an existing Vercel project. AI model costs are paid by each user's own ChatGPT or Claude plan. | Live since 1 Nov 2026 | Our own set-up |
These are the firms' own published figures, read on 1 November 2026. They are vendor articles, not independent surveys, and they disagree with each other. They are not our price list: we give a fixed quote in writing after one call.
MCP server for ecommerce, Shopify and WooCommerce catalogs
The same pattern works for an online store: search, product details, stock and a link to the product page. Some ecommerce platforms now offer their own MCP or AI shopping connections, so check what yours gives you first.
A custom server earns its place when buyers ask questions a generic store connection can't answer: which part fits this machine, which size matches this drawing, which item replaces an old code. Those need your own finder logic, like PTP's pull stud finder. We read your store's product export or API, keep prices and checkout on your site, and send the buyer there.
Why AI assistants get your parts wrong today
What we build for you
Getting listed in the ChatGPT app directory
OpenAI opened its app directory to submissions on 17 December 2025. Its submission guide (now calling them plugins) asks for a verified publisher, a public HTTPS MCP server, website, support, privacy-policy and terms URLs, a domain-verification token on your server, five positive and three negative test cases and a video walkthrough. OpenAI reviews it and decides. After approval it rescans the server daily, and new tools stay unavailable until approved.
PTP's server is not in the directory. We have not submitted it: listing is PTP's decision as the owner, and the server is useful without it, because anyone can add it by URL today. We prepare the submission pack for clients who want a listing. We cannot promise approval, and we cannot promise that ChatGPT will pick your tools for a given question.
Who maintains it when the spec changes
MCP moves fast. The current revision, 2026-07-28, removed the old start-up handshake and sessions, so every request now carries its own protocol version, and a client can ask server/discover what a server supports. Many clients still speak the 2025 versions. PTP's server speaks both: 2026-07-28 and 2025-11-25, 2025-06-18 and 2025-03-26 on the same URL, and we tested it in the Inspector's modern and default modes on the live URL.
We maintain it for you on a monthly plan, or hand over the code with notes so your own developer can. Either way the server is yours, on your domain and your hosting account.
How a build runs
- 1Pick the questionsWe list the ten questions buyers ask your sales team most. Those become the tools.
- 2Build and testWe build the server on your data and test it with the MCP Inspector, ChatGPT and Claude, with a written test log like the one above.
- 3Go liveIt goes live on your domain. You decide whether to submit it to the ChatGPT directory; we prepare the pack if you do.
Questions
What is an MCP server, for a business owner?
It is a small web service that lets AI assistants such as ChatGPT, Claude and Copilot look up your data while they answer someone. You decide which questions it can answer, for example search the catalog or give the specs of one part, and every answer comes from your data, with links to your pages.
How much does MCP server development cost?
Firms that publish prices put a single server at about $8,000 to $18,000 (Groovy Web) or $8,000 to $15,000 (ScalaCode), and a basic MVP at $25,000 and up (Bacancy). Maintenance is quoted at $2,000 to $6,000 a month (ScalaCode). These are vendor figures, read on 1 November 2026. We quote a fixed price in writing after one call.
How long does it take to build an MCP server?
Published guides say 2 to 4 weeks for a single server (Groovy Web, ScalaCode) and 4 to 8 weeks for a typical one (RaftLabs). The data work usually takes longer than the server itself: clean, complete product records are the slow part.
What are MCP server development best practices?
Few tools that match real questions, strict input schemas, read-only hints where true, small responses with a page URL, rate limits, input checks, and support for both the 2026-07-28 and 2025 protocol versions. Test with the MCP Inspector before you test in ChatGPT and Claude. See the build checklist above.
Is a ChatGPT app the same as an MCP server?
The core is the same. OpenAI's Apps SDK is built on MCP, so a ChatGPT app's tools are an MCP server. An app can add its own small interface in the chat. The same server also works in Claude and Copilot Studio.
Can a ChatGPT app use our existing API?
Yes. The MCP server can call your API and turn its answers into a few clear tools. Your API stays as it is. If the data is public, as on PTP's catalog, the server can also hold a copy and need no API at all.
What is the difference between an MCP server and a custom GPT?
A custom GPT lives only in ChatGPT and mostly answers from instructions and files you give it. An MCP server is a live service that ChatGPT, Claude, Copilot Studio and other clients can all call, and it reads your data at the moment of the question.
Can I build an MCP server for an ecommerce store?
Yes. Search, product details, stock and a link to the product page work the same way. Check first what your platform already offers. A custom server pays off when buyers ask fit or size questions that need your own finder logic.
How do we get listed in the ChatGPT app directory?
Submissions opened on 17 December 2025. You need a verified publisher, a public HTTPS MCP server, privacy and terms pages, domain verification, test cases and a demo video, and OpenAI reviews it. OpenAI approves listings, not us. PTP's server is not listed: we haven't submitted it, because that is the owner's call.
Is an MCP server safe?
It can be. Catalog tools should be read-only and only return what you already publish. Private data such as dealer prices sits behind OAuth sign-in. The MCP spec says servers must validate inputs, control access, rate limit calls and sanitize outputs. You can switch the server off at any time.
What does it cost to run?
Little. PTP's server is one serverless function in an existing hosting project, because each lookup is light. The AI model costs are paid by the user's own ChatGPT, Claude or Copilot plan, not by you.
Will ChatGPT recommend our products once we have an app?
Not automatically, and no one can guarantee it. The assistant decides when to call a connected app, and directory placement is OpenAI's decision. An MCP server makes sure that when your tools are used, the answer is exact. Your website still matters for open-web answers: see AI search visibility for manufacturers, and the catalog websites an MCP server is built on.
Related pages
A fixed quote after one call
Send us your catalog (website, PDF or spreadsheet) and the questions your buyers ask most. After a short call we reply with the tools we would build, a fixed price and a delivery date, in writing. Payment in stages.
Tell us what you need.
Website, catalogue, software or app. Message us and we reply within one working day.
Tap one. Your message is already written: just press send.