<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: XJTLU media</title>
    <description>The latest articles on DEV Community by XJTLU media (@xjtlu_media_385ce4bc67a1e).</description>
    <link>https://dev.to/xjtlu_media_385ce4bc67a1e</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3751726%2F5a0fe8a1-e7f9-4cd5-bd3b-6f309533c5a3.png</url>
      <title>DEV Community: XJTLU media</title>
      <link>https://dev.to/xjtlu_media_385ce4bc67a1e</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/xjtlu_media_385ce4bc67a1e"/>
    <language>en</language>
    <item>
      <title>How to balance AI cost with user intent (1)</title>
      <dc:creator>XJTLU media</dc:creator>
      <pubDate>Thu, 05 Nov 2026 05:55:27 +0000</pubDate>
      <link>https://dev.to/xjtlu_media_385ce4bc67a1e/how-to-balance-ai-cost-with-user-intent-1-4fcg</link>
      <guid>https://dev.to/xjtlu_media_385ce4bc67a1e/how-to-balance-ai-cost-with-user-intent-1-4fcg</guid>
      <description>&lt;p&gt;You don't always select the best model for users when they simply want to ask "Hi, what is your model?"&lt;/p&gt;

&lt;p&gt;Therefore, you want to build a LLM router inside your AI app, which can save tons of premium tokens output for simple questions.&lt;/p&gt;

&lt;p&gt;An AI LLM router is fundamentally a decision engine that maps:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;user intent + constraints + economics + risk + context
→ optimal model/tool/workflow execution path
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmm6aq8fpxw6820hlokfr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmm6aq8fpxw6820hlokfr.png" alt=" " width="800" height="548"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Core Architecture
&lt;/h4&gt;

&lt;p&gt;The core architecture of an AI router is &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9haje9r699a8gfq15tcn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9haje9r699a8gfq15tcn.png" alt=" " width="799" height="293"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  User Input Gateway
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;authentication&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Token Introspection &amp;amp; Cryptographic Verification: Validate incoming JWTs or API keys at the API gateway layer (e.g., Envoy, Kong, or a custom Rust/Go middleware) using RS256/EdDSA public keys.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;rate limiting&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Context Hydration: Upon validation, extract the tenant_id, user_id, and tier (e.g., free, premium, enterprise). Inject these into the request context header (X-Tenant-ID, X-User-Tier). This tiering is crucial for downstream routing.&lt;/p&gt;

&lt;p&gt;Distributed Rate Limiting: Implement a Redis-backed Token Bucket or Leaky Bucket algorithm to prevent cascading failures.&lt;/p&gt;

&lt;p&gt;Multi-Dimensional Limits: Evaluate rate limits across three concurrent vectors:&lt;/p&gt;

&lt;p&gt;IP/User ID: Prevents DDoS and brute-force abuse.&lt;/p&gt;

&lt;p&gt;Tier-based Concurrency: Limits maximum active concurrent requests (e.g., 50 concurrent requests for Premium, 5 for Free).Estimated Token Throughput: A rough, pre-routing heuristic calculation (e.g., based on input character count: $\text{characters} \times 0.25$) to drop requests that exceed a tenant's rolling minute-by-minute token quota before hitting expensive models.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;request normalization&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Strict Serialization: Enforce an OpenAPI 3.0/JSON Schema validation layer using high-performance validators (e.g., Pydantic in Python, Ajv in Node.js).&lt;/p&gt;

&lt;p&gt;Structure Alignment: Sanitize heterogenous client payloads into a strict, unified internal schema (e.g., mapping various client formats into a standardized {"messages": [{"role": "user", "content": "..."}], "generation_params": {}} structure).&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;streaming&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Protocol Management: Support both Server-Sent Events (SSE, text/event-stream) and WebSockets for duplex or persistent connections.&lt;/p&gt;

&lt;p&gt;Asynchronous Proxying: The gateway must support HTTP chunked transfer encoding, allowing it to proxy tokens from downstream LLMs to the client with sub-10ms overhead. This requires an asynchronous network stack (e.g., Tokyo/Rust or Asyncio/Python) to hold open connections without thread exhaustion.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;session tracking&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Session Windowing: Extract a session_id or conversation_id. If missing, generate a UUIDv4.&lt;/p&gt;

&lt;p&gt;State Hydration: Query a low-latency cache (Redis or Aerospike) to fetch the sliding window history of the conversation.&lt;/p&gt;

&lt;p&gt;Context Windows Management: Track total accumulated tokens in the session history. If the history exceeds a threshold, execute a deterministic truncation or summarization strategy before passing it to the preprocessing layer, saving downstream parsing overhead.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;metadata enrichment&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Network &amp;amp; Client Fingerprinting: Inject metadata including client_geo (via MaxMind GeoIP), device_type, request_timestamp_utc, and network latency metrics.&lt;/p&gt;

&lt;p&gt;Routing Hints: Append historical model preferences for this specific user (e.g., if the user always toggles "Creative Mode", append a metadata flag preferred_track: creative).&lt;/p&gt;

&lt;h4&gt;
  
  
  Preprocessing Layer
&lt;/h4&gt;

&lt;p&gt;To prevent noisy, malformed inputs from degrading embedding quality or tricking downstream intent classifiers, the text must be cleaned deterministically.&lt;/p&gt;

&lt;p&gt;Typo Correction (Heuristic vs. Light Neural):&lt;/p&gt;

&lt;p&gt;Avoid heavy LLMs here due to cost. Use a fast, symmetric delete spelling correction algorithm (SymSpell) or a lightweight, localized character-level sequence-to-sequence model for domain-specific terms.&lt;/p&gt;

&lt;p&gt;Purpose: Correcting "fiannce" to "finance" significantly stabilizes downstream embedding vectors.&lt;/p&gt;

&lt;p&gt;Language Detection:&lt;/p&gt;

&lt;p&gt;Route text through ultra-fast, compiled sub-millisecond classifiers like FastText (Facebook) or CLD3.&lt;/p&gt;

&lt;p&gt;Routing Relevance: Non-English inputs might require specialized multilingual models (e.g., Cohere, Qwen, or deep-seek variants) that possess superior tokenization efficiency and semantic understanding for that specific language, minimizing token bloat caused by poor subword tokenization.&lt;/p&gt;

&lt;p&gt;Formatting Cleanup:&lt;/p&gt;

&lt;p&gt;Regex-based stripping of control characters, unwanted ANSI escape codes, duplicate whitespaces, and systematic markdown/HTML stripping (unless structural layout is explicitly needed).&lt;/p&gt;

&lt;p&gt;Normalize unicode normalization forms (e.g., converting to NFKC) to ensure identical characters have identical byte representations.&lt;/p&gt;

&lt;p&gt;Domain Detection:&lt;/p&gt;

&lt;p&gt;Run the input text through a fast, linear classifier or a lightweight distilled transformer (e.g., a fine-tuned DistilBERT) trained on your target domains (e.g., code, legal, medical, general_chitchat).&lt;/p&gt;

&lt;p&gt;Cost Balancing: If the domain is general_chitchat, the router immediately flags this for a sub-billion parameter model ($0.07/M tokens), completely bypassing frontier models.&lt;/p&gt;

&lt;p&gt;Entity Recognition (NER):&lt;/p&gt;

&lt;p&gt;Deploy a high-throughput spaCy pipeline or a fine-tuned GLiNER model to extract named entities (ORG, PRODUCT, GPE, DATE).&lt;/p&gt;

&lt;p&gt;PII Masking &amp;amp; Compliance: If sensitive PII (e.g., SSN, CREDIT_CARD) is detected, trigger token masking/anonymization filters before the request is sent to external, third-party closed-source APIs.&lt;/p&gt;

&lt;p&gt;User Intent Hints:&lt;/p&gt;

&lt;p&gt;Utilize pattern-matching state machines combined with a multi-label classification head to detect explicit structural intents: requires_calculation, requires_code_generation, complex_reasoning, factual_retrieval.&lt;/p&gt;

&lt;p&gt;Example: If the intent matches requires_calculation, the router can flag the request to bypass standard LLMs and route directly to an agent with a Python REPL tool, or a model with native tool-calling optimizations.&lt;/p&gt;

&lt;p&gt;Embeddings Generation:Pass the normalized text to a highly efficient, local embedding model running on a dedicated inference server.&lt;/p&gt;

&lt;p&gt;Calculate deterministic lexical metrics: Token Count (using specific tokenizers like TikToken for OpenAI, or LlamaTokenizer), character-to-token ratios, sentence count, tree-depth parsing metrics, and the frequency of structural markers (e.g., brackets, assignment operators =, SQL keywords).&lt;/p&gt;

&lt;p&gt;Extract abstract conceptual indicators: Sentiment polarity score (via VADER or high-speed transformer), perplexity estimation (using a tiny causal model like GPT (to minimize cost) to evaluate how "predictable" or standard the user's phrasing is), and information density (ratio of content words to stop words).&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>How to develop an AI agent application</title>
      <dc:creator>XJTLU media</dc:creator>
      <pubDate>Sat, 16 May 2026 09:08:09 +0000</pubDate>
      <link>https://dev.to/xjtlu_media_385ce4bc67a1e/how-to-develop-an-ai-agent-application-c6i</link>
      <guid>https://dev.to/xjtlu_media_385ce4bc67a1e/how-to-develop-an-ai-agent-application-c6i</guid>
      <description>&lt;h3&gt;
  
  
  Part 1: The Reality Check
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwkl8dg1v42atczpzqyhc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwkl8dg1v42atczpzqyhc.png" alt=" " width="800" height="391"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When developers try to move AI agents from a terminal prototype to a robust application, they consistently hit a few major walls:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The "Vibe Coding" Trap and Verification Burden:&lt;/strong&gt; A major frustration in the community is the reliance on informal, conversational prompting to build logic. This approach, recently studied as "vibe coding," often results in a massive debugging burden. Because developers are forced to manually verify unpredictable outputs rather than relying on structured constraints, code quality and reliability suffer significantly. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In my personal experience, sometimes you have to carefully craft the prompt to guide AI generate a concise output and use formulas to control the quality of AI outputs.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Execution Loops and Environmental Fragility:&lt;/strong&gt; When agents interact with external tools or dynamic interfaces, they frequently get stuck in repetitive action loops or fail entirely when encountering unexpected noise (e.g., an unpredicted API error or a sudden change in data format). Without strict operational boundaries, an agent lacks the autonomous ability to gracefully break out of these loops and recover.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This could happen especially when the MCP is failing to search online content. Therefore, you have to check the quality of MCP before binding that into AI apps.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The Complexity of Probabilistic Context:&lt;/strong&gt; Many frameworks push developers toward complex Retrieval-Augmented Generation (RAG) pipelines and vector databases to manage an agent's memory. In practice, developers find this often introduces latency, non-deterministic retrieval failures, and excessive infrastructure overhead for applications that require precise data handling.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Part 2: What Developers and Users Actually Want
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Folwp61r6gmtulmoe4d1g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Folwp61r6gmtulmoe4d1g.png" alt=" " width="800" height="277"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Absolute Predictability:&lt;/strong&gt; Developers want systems that fail gracefully and predictably. They want to know exactly &lt;em&gt;why&lt;/em&gt; an agent took a specific action, which requires auditability, deterministic logging, and structured logic. That is why you have to rely on existing packages on programming languages to build  an app specifically tailored to control predictability. For example, let LLM write python code to execute, is a good quality control method.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;you still need to know what the product should be, what tradeoffs matter, what the architecture should compress around&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Zero-Effort Integration:&lt;/strong&gt; End-users want tools that drop into their existing workflows seamlessly. They do not want to manage or configure the agent; they want the agent to orchestrate the heavy lifting in the background reliably.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Profit-Centric Efficiency:&lt;/strong&gt; An app should focus on asymmetric risk-reward. The compute cost, latency, and maintenance burden of the agent must be drastically outweighed by the tangible value and time saved by the user.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Part 3: Architectural Blueprint for a High-Value Agent
&lt;/h3&gt;

&lt;h4&gt;
  
  
  1. Embrace State-Machine Prompt Engineering
&lt;/h4&gt;

&lt;p&gt;Ditch the open-ended "reasoning loops" that lead to infinite cycles and unpredictable behavior. Instead, design the agent's core workflow as a strict, deterministic state machine. Each state should represent a single, discrete objective powered by highly structured prompt engineering. The LLM's job isn't to figure out the entire application flow on the fly; its job is to process the current state and return a specific output that meets the rigid criteria required to transition to the next node in the machine.&lt;/p&gt;

&lt;p&gt;This is a standard tech stack for AI apps&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl1o7kj66hwqtvkhzf62z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl1o7kj66hwqtvkhzf62z.png" alt=" " width="800" height="352"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h6&gt;
  
  
  1. The Core AI Layer (Model Providers)
&lt;/h6&gt;

&lt;p&gt;This layer provides the intellectual brainpower of your application. You must choose between managed third-party Application Programming Interfaces (APIs) for rapid development or hosted open-source models for full data control. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Commercial LLMs: OpenAI, Anthropic Claude, and Google Gemini.&lt;/li&gt;
&lt;li&gt;Open-Source Models: Deepseek and GLM models can be self-hosted to eliminate third-party API dependencies.&lt;/li&gt;
&lt;/ul&gt;

&lt;h6&gt;
  
  
  2. AI Orchestration Frameworks
&lt;/h6&gt;

&lt;p&gt;These tools serve as the glue between your application logic, your data sources, and your chosen AI models.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;LangChain / LangGraph: Industry standards for chaining multiple prompts together and building complex, stateful multi-agent systems.&lt;/li&gt;
&lt;li&gt;LlamaIndex: Optimized specifically for connecting external datasets to LLMs, making it ideal for search engines and document assistants.&lt;/li&gt;
&lt;li&gt;Vercel AI SDK: Highly favored for web development to easily stream real-time token responses directly to web interfaces. &lt;/li&gt;
&lt;/ul&gt;

&lt;h6&gt;
  
  
  3. Data Infrastructure &amp;amp; Vector Storage
&lt;/h6&gt;

&lt;p&gt;Traditional databases cannot search text by its conceptual meaning. AI applications require vector extensions or specialized semantic databases alongside structured storage. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Vector Databases: Pinecone, Milvus, and Qdrant process high-dimensional vector data for lightning-fast retrieval-augmented generation (RAG).&lt;/li&gt;
&lt;li&gt;Relational Databases with Vector Support: PostgreSQL using the pgvector extension is widely adopted because it handles standard user tables and AI vectors simultaneously in one system.&lt;/li&gt;
&lt;li&gt;Managed Vector Platforms: Supabase and Neon streamline database operations for lean development teams. &lt;/li&gt;
&lt;/ul&gt;

&lt;h6&gt;
  
  
  4. Backend Orchestration Layer
&lt;/h6&gt;

&lt;p&gt;The backend manages your core business logic, handles secure user authorization, and processes heavy data transformations before handing them off to the AI. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Python (FastAPI / Django): Python remains the dominant language for AI applications because it natively supports data science libraries like PyTorch and NumPy.&lt;/li&gt;
&lt;li&gt;TypeScript / &lt;a href="https://nodejs.org/en" rel="noopener noreferrer"&gt;Node.js&lt;/a&gt;: Excellent for building asynchronous backend systems that must stream text data smoothly to thousands of users simultaneously. &lt;/li&gt;
&lt;/ul&gt;

&lt;h6&gt;
  
  
  5. Frontend &amp;amp; UI Layer
&lt;/h6&gt;

&lt;p&gt;The user interface must be optimized to render streaming text blocks, handle conversational loops, and manage instant UI state updates. [3] &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Web Interfaces: Next.js (React framework) combined with Tailwind CSS and shadcn/ui is the standard configuration for fast, responsive web dashboards.&lt;/li&gt;
&lt;li&gt;Mobile Interfaces: Flutter or React Native for cross-platform deployments, or native Swift (iOS) and Kotlin (Android) for hardware-intensive mobile features.&lt;/li&gt;
&lt;/ul&gt;

&lt;h6&gt;
  
  
  6. MLOps, Evaluation, &amp;amp; Observability
&lt;/h6&gt;

&lt;p&gt;AI inputs and outputs are inherently unpredictable. You need dedicated monitoring to track system costs, check latency, log prompt histories, and detect model errors.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Observability Tools: LangSmith, Helicone, and Phoenix log every single AI prompt and response to help trace errors and measure API spending.&lt;/li&gt;
&lt;li&gt;Evaluation Frameworks: Promptflow and Ragas automate test suites to ensure model updates do not introduce system hallucinations.&lt;/li&gt;
&lt;li&gt;Hosting &amp;amp; Compute Platforms: Vercel for web frontends, alongside AWS, Google Cloud Vertex AI, or Modal for managing fluctuating backend GPU workloads. &lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  2. Utilize Deterministic State Management
&lt;/h4&gt;

&lt;p&gt;Skip the overhead and unpredictability of vector databases or complex RAG setups when structural integrity is paramount. For robust context and memory tracking, leaning on a lightweight, battle-tested relational database like SQLite ensures that the agent's state history is queryable, immutable, and fully under your control. This allows you to construct highly precise context windows based on hard data rather than algorithmic best guesses.&lt;/p&gt;

&lt;h4&gt;
  
  
  3. Standardize Tooling and Orchestration
&lt;/h4&gt;

&lt;p&gt;Ground your agent's capabilities using standardized protocols to handle tool execution. By strictly separating the agent's decision logic (the state machine) from its action execution (e.g., utilizing localized Model Context Protocol servers), you create a modular architecture that is significantly easier to debug, test, and scale across different environments.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>mcp</category>
      <category>productivity</category>
      <category>webdev</category>
    </item>
    <item>
      <title>On what people really need for MCP</title>
      <dc:creator>XJTLU media</dc:creator>
      <pubDate>Wed, 13 May 2026 02:19:05 +0000</pubDate>
      <link>https://dev.to/xjtlu_media_385ce4bc67a1e/on-what-people-really-need-for-mcp-2g1n</link>
      <guid>https://dev.to/xjtlu_media_385ce4bc67a1e/on-what-people-really-need-for-mcp-2g1n</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl3ohq9nufkic7vlbagpw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl3ohq9nufkic7vlbagpw.png" alt=" " width="212" height="76"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  What is MCP
&lt;/h4&gt;

&lt;p&gt;By definition, MCP (Model Context Protocol) is an open-source standard for connecting AI applications to external systems.&lt;br&gt;
Using MCP, AI applications like Claude or ChatGPT can connect to data sources (e.g. local files, databases), tools (e.g. search engines, calculators) and workflows (e.g. specialized prompts)—enabling them to access key information and perform tasks.&lt;/p&gt;

&lt;h4&gt;
  
  
  The Three Pillars of MCP
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Resources:&lt;/strong&gt; Think of these as read-only data bridges. Whether it’s a local SQLite database, a Google Drive folder, or a GitHub repo, the AI can now "see" the data it needs to provide accurate, grounded answers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tools:&lt;/strong&gt; This enables the AI to do things. It could be executing a Python script, triggering a web search, or performing complex calculations through a specialized API.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prompts:&lt;/strong&gt; MCP allows for standardized "templates" or workflows. This ensures the AI follows specific, high-quality logic consistently across different platforms.&lt;/p&gt;

&lt;h4&gt;
  
  
  What people really need for MCP
&lt;/h4&gt;

&lt;p&gt;I wrote the markdown formatter (AI-Answer-Copier) months ago. In order to build a bridge between AI answers to saved document, I integrated functions of markdown conversion to multiple format into this MCP. &lt;/p&gt;

&lt;p&gt;Here is one of the published version of markdown formatter statistics.&lt;/p&gt;

&lt;p&gt;For this sites only, we get at least 6000 usage in the last 30 days, while this is not high. But I can say, this MCP at least serve some part of purposes of what people want.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftlnvx9hm6hvgwwihwrbz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftlnvx9hm6hvgwwihwrbz.png" alt=" " width="800" height="528"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmjelumv9enyu3k36ip56.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmjelumv9enyu3k36ip56.png" alt=" " width="800" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F70cboay1p7bupexmasyi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F70cboay1p7bupexmasyi.png" alt=" " width="678" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For HTML online version, see: &lt;a href="https://ai-answer-copier.vercel.app/" rel="noopener noreferrer"&gt;AI-answer-copier&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see, most users use markdown to DOCX. The usage is higher than others. It means most users still prefer to use DOCX for convenient purposes. &lt;/p&gt;

&lt;p&gt;It is not hard to understand, markdown is exclusive to computer related workers like developers or AI engineers. Managers still like to use DOCX for their works and modify it at their wish.&lt;/p&gt;

&lt;h4&gt;
  
  
  Which part of this tool is different to claude chatbox?
&lt;/h4&gt;

&lt;p&gt;Some people might curious, claude.ai already has docx output if you ask them in the chatbox. Why a duplicated tool is needed. &lt;/p&gt;

&lt;p&gt;First, claude use python or HTML to generate DOCX, while it is good for one run output of files. It did not, however, serve the purpose for multi run if user want to export every part of their chat into DOCX.&lt;/p&gt;

&lt;p&gt;Second, user may want to export to other format, like to PDF, without their manual conversion using MSOffice offline. This is what this tool build for.&lt;/p&gt;

&lt;h4&gt;
  
  
  How could you build a MCP that people likes?
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Build a bridge for what people need&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There are still many gaps between what user want between AI output. For example, corporations might deploy LLM with agent to replace human customer services. &lt;/p&gt;

&lt;p&gt;One problem existing in here is, AI don't have authority to touch IT system which human customer services can have access to, and AI usually hallucinate, answer different than what people want.&lt;/p&gt;

&lt;p&gt;The most important question is, most of client feedback is not about generalized ideas but focusing on specific problems. Like:&lt;/p&gt;

&lt;p&gt;"My phone can't receive a verification SMS for your app"&lt;/p&gt;

&lt;p&gt;,which can only be solved by a senior engineer.&lt;/p&gt;

&lt;p&gt;What is your idea on AI customer service to solve this kind of problem?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>mcp</category>
      <category>productivity</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Stop Copy-Pasting AI Answers: How I Built an MCP Server for "Classroom-Ready" Exports</title>
      <dc:creator>XJTLU media</dc:creator>
      <pubDate>Wed, 04 Feb 2026 03:07:38 +0000</pubDate>
      <link>https://dev.to/xjtlu_media_385ce4bc67a1e/stop-copy-pasting-ai-answers-how-i-built-an-mcp-server-for-classroom-ready-exports-2e7i</link>
      <guid>https://dev.to/xjtlu_media_385ce4bc67a1e/stop-copy-pasting-ai-answers-how-i-built-an-mcp-server-for-classroom-ready-exports-2e7i</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdochgn35gc0gt0meqlfb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdochgn35gc0gt0meqlfb.png" alt=" " width="800" height="530"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We’ve all been there. You ask Claude or ChatGPT to generate 20 complex physics questions. The output is brilliant, but then the "Final Mile" friction hits.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You spend the next 45 minutes:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Fixing LaTeX formulas that broke during the copy-paste.&lt;/li&gt;
&lt;li&gt;Re-formatting bullet points into a CSV template for Kahoot or Quizizz.&lt;/li&gt;
&lt;li&gt;Wrestling with Word margins to make a printable PDF.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Generating the content took 10 seconds. Formatting it took an hour. That is a broken developer/educator experience.&lt;/p&gt;

&lt;h4&gt;
  
  
  The Solution: Model Context Protocol (MCP)
&lt;/h4&gt;

&lt;p&gt;Instead of manually bridging the gap between the AI's "brain" and my local files, I built an MCP Server that allows the AI to handle the export itself.&lt;/p&gt;

&lt;p&gt;With the AI Question Copier acting as an MCP server, you don't hit Ctrl+C. You just tell the AI:&lt;/p&gt;

&lt;p&gt;"I like these questions. Export them as a Quizizz CSV and a printable PDFHandout."&lt;/p&gt;

&lt;p&gt;The AI "sees" the available tools, parses its own reasoning into the correct schema, and triggers the file generation locally.&lt;/p&gt;

&lt;h4&gt;
  
  
  Tech Stack
&lt;/h4&gt;

&lt;p&gt;Language: TypeScript / Node.js&lt;/p&gt;

&lt;p&gt;Protocol: Model Context Protocol (MCP)&lt;/p&gt;

&lt;p&gt;Parsing: Intelligent regex-based "Smart-Parse" for Q&amp;amp;A structures.&lt;/p&gt;

&lt;p&gt;Outputs: PDF (handouts), XLSX (Quizizz/Kahoot), JSON (LMS), and Markdown.&lt;/p&gt;

&lt;h4&gt;
  
  
  How to use it in 60 seconds
&lt;/h4&gt;

&lt;p&gt;If you’re using Claude Desktop, you can bind this tool by adding it to your claude_desktop_config.json:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"question-exporter"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"node"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"/PATH_TO_PROJECT/mcp-server/dist/index.js"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once restarted, you'll see the 🔌 icon. Your AI is now an automated education assistant.&lt;/p&gt;

&lt;h4&gt;
  
  
  Why this matters
&lt;/h4&gt;

&lt;p&gt;We are moving away from "Chatbots" and toward "Actionable Agents." MCP is the "USB-C for AI"—a standardized way to let models interact with the world securely. Whether you are a teacher, a developer, or a technical trainer, removing the "copy-paste tax" is the first step toward true productivity.&lt;/p&gt;

&lt;p&gt;You are welcomed to view my project at &lt;a href="https://github.com/XJTLUmedia/MCP_Markdown_Formatter" rel="noopener noreferrer"&gt;MCP_Markdown_Formatter&lt;/a&gt;&lt;/p&gt;

</description>
      <category>automation</category>
      <category>mcp</category>
      <category>productivity</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
