The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
To build an AI-powered integration with an MCP server, you write a server that exposes narrow tools, resources, or prompts over a supported transport, then connect an AI application to that server through an MCP client. The protocol handles discovery and invocation. Your job is to decide what the model can see, what it can do, and how far those permissions reach.
This tutorial uses the official MCP TypeScript SDK v2 as an example implementation path. MCP itself is not tied to TypeScript, and the architecture described below applies to any language with an MCP SDK. The code steps are a conceptual walkthrough of the documented route; they have not been compiled or run as part of this article, so verify each signature against the current SDK documentation before you rely on it.
What you are building: host, client, and server
MCP uses three roles. Getting these straight before writing code prevents most design mistakes later.
- Host. The AI application that coordinates everything: a desktop assistant, an IDE, or your own application. The host owns the language model, the user interface, and the decisions about what to send to the model.
- Client. A component the host creates for each server connection. Each client maintains one connection to one particular server.
- Server. The program that provides contextual data and actions. It is the piece you build in this tutorial.
MCP standardizes how context and capabilities are exchanged. It does not dictate which model the host uses, how the host prompts that model, or how the interface looks.
#1 Best Overall
- ▶ FLAGSHIP AMD RYZEN AI MAX+ 395 MINI PC – Packing 16 Zen 5 cores, 32 threads (via SMT), 64MB L3 cache, and a 5.1GHz boost clock. Delivers 126 TOPS total AI compute – including a 50 TOPS XDNA 2 NPU, 25% above Microsoft Copilot+ standard. Run 70B+ LLMs locally, keep data private, and tackle 8K editing, compiling, and rendering simultaneously. Recognized as the "most powerful x86 APU" for AI – a true game‑changer for creators, researchers, and power users.
- ▶ AMD RADEON 8060S iGPU – DESKTOP‑GRADE GAMING & CREATION – No discrete GPU needed. With 40 RDNA 3.5 compute units and dynamic memory allocation (up to 96GB), play AAA titles at 1440p high settings, accelerate 8K video exports in DaVinci Resolve, or generate AI art locally. Outperforms RTX 4060 laptop GPUs in benchmarks – all in a silent, compact chassis that fits anywhere.
- ▶ 128GB LPDDR5X‑8000MHz + 2TB SSD + DUAL M.2 SLOTS – Onboard 128GB memory at 8000MHz offers 45% more bandwidth than LPDDR5 for blazing‑fast AI loading and seamless multitasking. GPU shares this pool to run 70B+ LLMs with ease. Pre‑installed 2TB PCIe 4.0 SSD, plus a second M.2 slot for expansion up to 8TB or RAID. Store massive datasets, 8K footage, and game libraries – scale as your needs grow.
- ▶2.5GbE + Wi-Fi 7 + BT 5.4 — The mini computers come with 2.5GbE LAN ports enable firewall, link aggregation, soft routing, and NAS applications. Built-in Wi-Fi 7 and Bluetooth 5.4 offer stable, high-speed wireless connections for projectors, printers, monitors, speakers, and more—ideal for a versatile, clutter-free workspace.
- ▶QUAD 8K DISPLAY OUTPUT & DUAL USB4 – M5 Mini PC drives four 8K@60Hz monitors via HDMI 2.1, DP 1.4, and dual USB4 (40Gbps, Thunderbolt 4 compatible, PD & DP Alt Mode). HDMI and DP each support 8K@60Hz; USB4 handles both video and high‑speed data. Perfect for immersive gaming, professional video walls, or complex multitasking – plus charge devices directly from USB4 ports.
The data layer and the transport layer
The official architecture documentation separates MCP into two layers. The data layer is based on JSON-RPC and defines the messages: discovery, invocation, and the primitives themselves. The transport layer defines how those messages move between client and server. Keeping the two separate is why the same server logic can run over a local process pipe or over HTTP.
The three server primitives
A server can expose three kinds of capability:
- Tools are operations the model may request, such as running a query or creating a ticket. Clients discover them with list operations and invoke them with
tools/call. - Resources are data made available to the application as context, such as a schema document or a file.
- Prompts are reusable interaction templates the host can offer.
Step 1: Define the operation or context the model needs
Start from the job the AI application must do, not from the API you happen to have. Then map that job to one primitive. The table below shows how the three differ in practice.
| Primitive | Who typically triggers it | Use it for | Example in a database integration |
|---|---|---|---|
| Tool | The model, when it decides an action is needed | An operation with inputs and a result, including actions with side effects | A tool that returns the order status for one order ID |
| Resource | The application, which attaches the data as context | Read-only information the model should be able to reference | A resource describing the table schema |
| Prompt | The user, who selects a template | A repeatable instruction pattern for a common task | A prompt for summarizing recent orders for a support ticket |
The official architecture example combines all three for a database: query tools, a schema resource, and an example prompt. That pattern is a good model for a domain adapter.
Free tools Windows power users keep installed
One-click scans. No signup required.
Design rules for tools
The following guidance is editorial, not a protocol requirement. The protocol defines what the primitives are; these rules are how to use them safely.
Rank #2
- EVOLUTION AMD RYZEN AI MAX+ 395 MINI PC - GMKtec EVO-X2 is the next evolution in AI mini PC Ryzen Strix Halo series. Thanks to AMD Simultaneous Multithreading (SMT) the core-count is effectively doubled, to 32 threads. Ryzen AI Max+ 395 has 64 MB of L3 cache and can boost up to 5.1 GHz, depending on the workload. The Ryzen AI Max+ 395 is currently rated as the "most powerful x86 APU" on the market for AI computing.
- AI NPU with XDNA 2 ARCHITECTURE - Powered by 16 “Zen 5” CPU cores, 50+ peak AI TOPS XDNA 2 NPU and a truly massive integrated GPU driven by 40 AMD RDNA 3.5 CUs, the Ryzen AI MAX+ 395 is a transformative upgrade and delivers a significant performance boost over the competition. The Ryzen AI Max+ 395 excels in consumer AI workloads like the llama.cpp-powered application: LM Studio. Shaping up to be the must-have app for client LLM workloads, LM Studio allows users to locally run the latest language model without any technical knowledge required and unleash their creativity and productivity.
- AMD RADEON 8090S iGPU GAMING PC - The AMD Radeon RX 8060S offers all 40 CUs with up to 2.9 GHz graphics clock and uses the new RDNA 3.5 architecture. The powerful iGPU is positioned between an RTX 4060 and 4070 laptop GPU and therefore enables gaming in FHD at maximum details in most demanding games. The 8060S can also utilize the full 64GB pool, which is perfect for running LLMs such as Deepseek 32B, which runs comfortably on this machine.
- EIGHT CHANNEL LPDDR5X - LPDDR5X is a new ground breaking memory small form factor installed on-board. With blazing speeds up to to 8000MT/s, it runs 1.5x faster than the DDR5 SODIMMs; 90% better performance over DDR5 SODIMMs in video conferencing and photo editing; 30% better performance in productivity apps; 4% better performance in digital content workloads.
- QUAD SCREEN 8K DISPLAY SUPPORT - EVO-X2 AI Mini PC support 4-screen 4K/8K output via HDMI 2.1 (8K@60Hz), DisplayPort 1.4 (4K@60Hz), and dual USB 4 40Gbps Transfer speed (supporting PD3.0/DP1.4/DATA). Ideal for gaming, video editing, and multitasking, it provides expansive and crisp multi-display support.
- Expose one clearly bounded operation per tool. A tool called
get_order_statusis easier for a model to use correctly, and easier to permission, than one calledrun_query. - Give every tool a description that says what it does, when to use it, and what it does not do. The model chooses tools partly from these descriptions.
- Define a strict input schema. Reject unexpected fields rather than passing them through.
- Return bounded, structured results. Cap row counts and response size so a single call cannot flood the model’s context.
- Avoid general-purpose escape hatches such as arbitrary SQL, shell commands, or unrestricted HTTP fetches unless you have a specific, reviewed reason.
Step 2: Choose local (stdio) or remote (Streamable HTTP) transport
The official architecture documentation describes two standard transports. The choice determines your trust boundary, so make it before you write the server.
| Factor | stdio | Streamable HTTP |
|---|---|---|
| Where the server runs | As a local process that the host launches | As a network-accessible service |
| How the connection works | The host starts the process and exchanges messages over its standard input and output | Client sends HTTP POST requests; the server can optionally stream responses using Server-Sent Events |
| Authentication | Not an HTTP concern; the server runs with the local user’s access | Standard HTTP authentication, including bearer tokens and OAuth, as described in the official overview |
| Typical use | Personal tools, developer utilities, and servers that need local files or local processes | Shared team services and hosted integrations used by several users or clients |
Transport and authorization details depend on your deployment. The overview establishes the options; your deployment decides which controls you need. A remote server should be served over HTTPS, and its authorization should be checked on every request.
Step 3: Pick the SDK and pin versions
The TypeScript SDK v2 documentation describes the following, as of the version consulted for this article:
- The stable release line implements the 2026-07-28 version of the MCP specification.
- The server package is installed as
@modelcontextprotocol/server. - Node.js, Bun, and Deno are documented runtimes.
A separate documentation site still covers v1. Do not mix v1 imports and patterns with v2 examples in the same project. Check the v1 site only if you are maintaining existing v1 code. Because SDK package names and protocol versions change, confirm the current version on the official SDK documentation before you publish or deploy, and pin an exact version in your package.json.
Rank #3
- [Powerful Processor] Mini Gaming PC equipped with Core i9-14900F, 24 Cores 32 Threads, 36M Cache, Max Turbo Frequency: 5.8GHz, Windows 11 pro (64 Bit).64G DDR5-5600 RAM| 4T M.2 NVME PCIE4.0 SSD| 4T SATA SSD. With GeForce RTX 50 Series GPUs. supporting ray tracing and AI cores. Delivering AI-acceleration in top creative apps. Whether you’re rendering complex 3D scenes, editing 4K video, or Gaming livestreaming with the best encoding and image quality.
- [Powerful Capacity & Storage Expansion] The mini desktop computer is equipped with Dual-DDR5 RAM (dual channel DDR5 high-speed memory, which can support up to 96G RAM), 1 x M.2 2280 PCIE4.0 high-speed SSD, and support add 1 x 2.5-inch SATA HDD/SSD is enough to accommodate system files and massive games, Excellent reading and writing speed greatly shortening your boot time.
- [8K@60Hz Four-Display] Mini PC equipped with GeForce RTX5060Ti 16GB GDDR7 discrete graphics card, supporting ray tracing and AI cores. easy connect 4 monitors, 1×HDMI 2.1b and 3×DisplayPort 2.1b(All Support 8K@60Hz display), It can provide you with a first-class TV experience and realistic picture quality, for your visual home entertainment, streaming video, web browsing, work design and 3D games create a very smooth experience.
- [Functional Interfaces] Mini computer is equipped with 4 x USB 3.2, 4 x USB2.0, 1 x HDMI2.1 port, 3 x DP2.1 ports, 2xRJ-45 Gigabit Network Ethernet, 1 x Fiber Optic PORT, 1 x Audio in/out. Built-in Bluetooth 5.4 and IEEE 802.11be wifi 7, Higher transfer rates and lower latency. Mini PC supports multiple device connection and can be used with servers, monitoring equipment, office equipment, projectors, televisions, etc, Mini desktop computer support automatic power on and Wake On Lan.
- [Warranty & heat dissipation] Warrant: 2 year/24 months. The compact computer size: 8.6*6.6*4.5in, 5.5lb, Inside the chassis are four all-copper turbo fans and eight vacuum heat pipes for powerful cooling performance. Make it can work smoothly and will not cause too much noise.
TypeScript 6.0 and the Buffer type
The SDK documentation notes that TypeScript 6.0 and later require an explicit types entry for Node.js in tsconfig.json to resolve the Buffer type. The fix is shown in step 3 of the walkthrough below.
Step 4: Build the server (TypeScript v2 example path)
-
Create the project and initialize npm.
mkdir mcp-orders-server && cd mcp-orders-servernpm init -y -
Install the SDK and the TypeScript toolchain. Use the exact SDK version your current documentation names.
npm install @modelcontextprotocol/servernpm install -D typescript @types/node -
Create
tsconfig.jsonwithnpx tsc --init, then set the compiler options so Node.js types are explicit:Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.{ "compilerOptions": { "target": "ES2022", "module": "NodeNext", "moduleResolution": "NodeNext", "strict": true, "outDir": "dist", "types": ["node"] } }Rank #4
SaleNimo AI NAS, Agentic Computer Mini PC and AI Server, AMD Ryzen 7 PRO 8845HS- Next-Gen Processing Power: Powered by the AMD Ryzen 7 8845HS processor (8 Cores, 16 Threads, Zen 4 architecture) and Radeon 780M graphics. Effortlessly handles fluid 4K/8K real-time media transcoding, multiple operating system virtualizations (PVE/ESXi), and simultaneous background tasks without a stutter.
- Secure Local AI & Privacy: Features an integrated Ryzen AI NPU delivering up to 38 TOPS of total processing power. Deploy 8B/14B Large Language Models (LLM) locally, run automated programming assistants, and enjoy lightning-fast AI photo recognition—all completely offline, keeping your sensitive data 100% secure.
- Pro-Studio Collaboration: Engineered with dual 2.5GbE network ports and optimized high-speed architecture. Eliminate transmission bottlenecks so multiple video editors, photographers, or 3D designers can collaborate, render, and share heavy assets directly from the NAS in real time.
- Massive Docker Ecosystem: Seamlessly deploy and run over 20+ Docker containers simultaneously. Perfect for hosting your home assistant, private web servers, automated downloaders, and personal databases with enterprise-level stability.
- Futuristic Heat Dissipation: Designed with an advanced cooling system tailored for continuous, high-load hardware operation. Enjoy high-speed read and write speeds across multiple drive bays while maintaining whisper-quiet operation in your home or studio.
-
Register one tool. Use the tool-registration method from the v2 documentation for your SDK version. Give the tool a name, a description, and an input schema that accepts only the order ID you need. In the handler, call your upstream service with a timeout. Return failures as tool errors with a message the model can act on, such as “Order ID not found; ask the user to confirm the ID.” Do not return stack traces or credentials.
-
Connect the stdio transport using the SDK’s stdio transport class from the v2 documentation. Write diagnostic logs to standard error, not standard output. On a stdio server, standard output carries protocol messages, so a stray
console.logcan corrupt the connection. -
Compile and confirm the process starts.
npx tscnode dist/index.jsThe process should start and wait for a client without printing anything to standard output. Stop it with Ctrl+C.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Step 5: Connect the host and check discovery
Hosts register servers in their own configuration. The exact file location and format differ by host, so consult your host’s documentation. The entry generally needs a command and arguments that launch your server, for example node with the absolute path to dist/index.js. Use an absolute path, since the host may not start in your project directory.
Best Value
- AMD RYZEN AI MAX+ 395 MINI PC – THE NEXT GENERATION AI WORKSTATION --- GMKtec EVO-X3 introduces the next evolution of desktop AI computing powered by AMD Ryzen AI Max+ 395 processor. Featuring 16 cores and 32 threads, Zen 5 architecture, TSMC 4nm FinFET process, up to 5.1GHz boost frequency, and 64MB L3 cache, EVO-X3 delivers flagship-level performance for AI applications, professional creation, gaming, and demanding multitasking. With up to 126 TOPS AI performance, this compact AI workstation brings powerful local computing to your desktop.
- AMD XDNA 2 NPU – 50 TOPS DEDICATED AI ENGINE FOR LOCAL AI --- Equipped with AMD XDNA 2 architecture NPU delivering up to 50 TOPS AI acceleration, EVO-X3 enables efficient local AI processing for generative AI, AI assistants, image creation, content production, and intelligent workflows. By processing AI tasks directly on-device, it helps reduce cloud dependency, improve response speed, and enhance data privacy. Run advanced AI applications locally with smoother performance and greater control over your data.
- AMD RADEON 8060S GRAPHICS – RDNA 3.5 POWER WITH DESKTOP-CLASS PERFORMANCE --- EVO-X3 features AMD Radeon 8060S Graphics with 40 Compute Units and up to 2900MHz frequency based on advanced RDNA 3.5 architecture. Delivering graphics performance comparable to RTX 4070-class laptop GPUs, it provides smooth 1080P high-quality gaming, accelerated video editing, 3D rendering, and creative workloads. Experience powerful integrated graphics performance without the size and power consumption of a traditional desktop tower.
- EIGHT CHANNEL LPDDR5X - LPDDR5X is a new ground breaking memory small form factor installed on-board. With blazing speeds up to to 8000MT/s, it runs 1.5x faster than the DDR5 SODIMMs; 90% better performance over DDR5 SODIMMs in video conferencing and photo editing; 30% better performance in productivity apps; 12% better performance in digital content workloads.
- 128GB LPDDR5X 8000MT/s MEMORY – MASSIVE BANDWIDTH FOR AI AND CREATIVE WORK --- Equipped with up to 128GB LPDDR5X memory running at 8000MT/s, EVO-X3 provides exceptional bandwidth for large AI models, professional software, content creation, and heavy multitasking. The unified memory architecture allows more flexible resource allocation between CPU and GPU, making it ideal for local AI inference, large model deployment, video production, engineering applications, and advanced creative workflows.
- Add the server entry to the host’s MCP configuration and save the file.
- Restart or reload the host so it launches a client for the new server.
- Open the host’s tool list and confirm your tool appears under the server’s name.
- Invoke the tool with a known, harmless input such as an order ID you have verified in your system. Confirm the result matches what the upstream service returns.
- Invoke it with an invalid input, such as an empty string, and confirm you receive a clear tool error rather than a crash.
Troubleshooting
| Symptom | Likely cause | What to check |
|---|---|---|
| Server does not appear in the host | Relative path in the configuration, or host not restarted | Use the absolute path to the built file and restart the host |
| Connection drops at startup | Logging written to standard output on a stdio server | Move all logs to standard error |
| Build error about Buffer or Node types | TypeScript 6.0 or later without an explicit Node types entry | Add "types": ["node"] to compilerOptions |
| Tool listed but the model never calls it | Vague tool description | Rewrite the description to state purpose, use conditions, and limits |
| Calls fail with schema errors | Input schema does not match what the model sends | Compare the schema with the model’s actual arguments in host logs |
| Calls hang, then fail | Upstream service slow or unavailable | Confirm the timeout is set and the error message is returned to the model |
Validation checks before you rely on the integration
These are recommended checks rather than results from a tested deployment. Run each one against your own server:
- An invalid or missing input is rejected with a message that names the field.
- An unavailable upstream service produces a tool error, and the server process keeps running.
- A read-only tool cannot modify data, even when given unusual input.
- Responses stay within your size cap for the largest realistic query.
- No credential, token, or internal hostname appears in any tool output or error text.
Security boundaries
OpenAI’s guidance on remote MCP servers identifies prompt injection as a central risk, especially when a connected server can access sensitive data or take actions. Treat that as the baseline for every integration.
Prompt injection
Content returned by a server can contain instructions that the model may follow. A ticket body, a web page, or a document returned as a resource can all carry such text. Protocol compatibility does not protect against this. Limit what a single tool result can trigger, and do not let returned content authorize new actions by itself.
Recommended Free Tools
Permissions and user approval
- Scope each server to the minimum data and actions it needs. Prefer separate servers for read-only and write-capable functions.
- Require explicit user confirmation for consequential actions such as sending messages, deleting records, or making payments. Confirm in the host, not only in the tool description.
- Log every tool call with its arguments and outcome, with secrets redacted.
Credentials
Keep credentials out of anything the model can read: prompts, resource contents, tool results, and error messages. For remote servers, use the standard HTTP authentication methods the official overview describes, and validate them on every request. For local servers, load secrets from the local environment or a secret store rather than from files the model can reach.
Versioning and maintenance
Reconfirm the SDK version, the specification version, and the host’s MCP support before each release. Upgrade the SDK deliberately, read its migration notes, and rerun the validation checks after each upgrade.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

