Skip to content
DenseChip
Learn
PracticeCode labInterview

DenseChip

Navigate

Menu

LearnPracticeCode labInterview

Tools

All toolsSV editorCode repoResume
DenseChip

Practice, courses, and chip-design tools in one focused workspace.

LearnPracticeCode labInterviewToolsLearning paths

© 2026 DenseChip

AboutContactPrivacyTerms
Skip to lesson

Course contents

  • Getting Started with AI for VLSI Engineers5
  • Just Enough AI: Models and Context15
  • Prompting13
  • Trust and Verification14
  • Using AI for Engineering Work17
  • Engineering Walkthroughs7
  • Practical Foundations for AI Workflows4
  • Engineering Data5
  • Retrieval-Augmented Generation6
  • Agents and Tool Use18
  • Agent Design8
  • MCP and Skills6
    • What MCP Is
    • Clients, Servers, and Capabilities
    • Connect Read-Only Tools
    • Permissions and Untrusted Content
    • Reusable Engineering Skills
    • One-Tool Server Extension
  • Multi-Agent Design6
  • Practical Capstone6
  • Tokens, Cost and Latency12
  • Agentic Workflows for Chip Teams18
  • Interview and Judgment10
  • AI Skills: Full Course Index
  • Working with AI Glossary
  • Working with AI Cheatsheet
Loading lesson

‹MCP and Skills
  1. Topics
  2. AI Skills for VLSI Engineers
  3. MCP and Skills
  4. One-Tool Server Extension

MCP and Skills · Beginner

One-Tool Server Extension

Specify a narrow synthetic report-summary service with clear inputs, outputs, failures, and review cases.

On this page

    The problem: search still leaves parsing work

    The earlier search tool returned a useful excerpt, but each learner still had to identify the report's conditions and numeric fields. Suppose a training team wants a single get_report_summary tool that returns the already prepared summary for one approved report ID. A narrow lookup is a better starting assignment than a general command runner: the desired behavior can be described completely, and a reviewer can compare the answer with the fixture by hand.

    Note

    This is a paper design extension, not executable server code, an SDK tutorial, or a recorded implementation. No SDK dependency is added. It extends the report-service idea with an alternative one-tool interface, rather than silently broadening the permissions of the earlier search connection.

    Specify the whole contract

    Target the same MCP 2025-11-25 teaching revision and local stdio setting. The proposed server advertises only tools, and tools/list exposes exactly get_report_summary. Its backing store contains the synthetic sta-01 and dv-02 entries described below. The fixed mapping is internal: a caller supplies an ID, never a path, URL, SQL expression, or shell command. This is an application design choice, not an isolation guarantee supplied by MCP.

    plaintext
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    DESIGN CONTRACT - not runnable server code
    Tool: get_report_summary
    Input object:
      report_id: required string, enum ["sta-01", "dv-02"]
      additional properties: rejected
    
    Proposed structured output object:
      synthetic: boolean, always true for this training fixture
      snapshot: string, "training-r1"
      report_id: string
      kind: string
      conditions: object containing string values
      observations: array of {metric: string, value: number, unit: string}
      source_lines: array of positive integers
      limitations: array of strings
    
    sta-01 fixture:
      kind: "setup-summary"
      conditions: {corner: "slow-demo", clock: "core_clk"}
      observations: [{metric: "WNS", value: -0.08, unit: "ns"},
                     {metric: "violating_endpoints", value: 3, unit: "count"}]
      source_lines: [12, 13, 14]
      limitations: ["No detailed paths; no root-cause or signoff conclusion."]
    
    dv-02 fixture:
      kind: "failure-summary"
      conditions: {test: "reset_release_demo", seed: "17", status: "FAIL"}
      observations: [{metric: "reset_seen_expected", value: 1, unit: "boolean"},
                     {metric: "reset_seen_observed", value: 0, unit: "boolean"}]
      source_lines: [21, 22]
      limitations: ["One case only; cause and failure rate unknown."]

    Before implementing this design, a developer would turn both object contracts into actual JSON Schemas and validate requests and results. The 2025-11-25 tools specification describes inputSchema, optional outputSchema, structuredContent, and text content. For this proposal, advertise an output schema, return matching structured content, and include its serialized JSON in a text block for compatibility. The block above documents fields; it is not a complete tool declaration or a wire response.

    Walk through a proposed call

    After host policy checks, the server validates the report identifier and extra fields, then looks up a fixed synthetic fixture. Invalid input or an unavailable fixture produces a tool error; a summary is validated by the host before interpretation.
    Proposed one-tool flow for the pinned MCP 2025-11-25 exercise. This is a design diagram, not a live connection or execution trace.

    An engineer asks for sta-01. After the same pinned initialization and inspection process taught earlier, the client proposes tools/call with name get_report_summary and arguments containing report_id equal to sta-01. The host checks its named-tool policy. The server checks the input contract, looks up the fixed fixture, and returns synthetic true, training-r1, the report ID, and the listed summary fields. The host validates the output and the skill checks whether the answer preserves conditions and limitations.

    The expected user-facing result is the same bounded observation as before: negative WNS and three violating endpoints for the stated clock and corner. Structured fields reduce ambiguity about units and identity; they do not supply missing detailed paths. An RTL engineer still needs source context before editing logic, a DV engineer still needs sequence evidence before diagnosing reset, and a PD engineer still needs stage-specific reports before connecting timing to placement.

    Exercise: review behavior before implementation

    Paper review case

    Expected behavior

    sta-01 with no extra fields

    Return only the fixed STA summary, preserving numeric -0.08 and unit ns.

    dv-02 with no extra fields

    Return the reset mismatch and FAIL condition, preserving seed as a string.

    report_id is ../private or a URL

    Reject the input; never interpret it as a location or read anything.

    Valid report_id plus command field

    Reject extra properties; do not ignore a requested command silently.

    Fixture unavailable

    Return an explicit tool failure; do not fabricate a summary or claim zero violations.

    Returned observations omit units

    Fail the proposed output checks and withhold an engineering conclusion.

    Write a review note for the extra command case and the unavailable fixture case. State which behavior belongs in the server and which belongs in the host. Finally, explain why adding a path argument would require a fresh review even if the tool retained its original name and read-only label.

    Check yourself What should the review note say?

    The server rejects unexpected arguments and reports fixture failures truthfully; the host enforces the tool policy, validates results, and avoids unsupported conclusions. A path argument changes the data boundary and introduces filesystem interpretation, so the existing review no longer describes the interface. A familiar name or annotation does not preserve the old access guarantees.

    Limitations and implementation handoff

    This contract has not been implemented, connected, or tested. A real SDK starter should be written against the selected official SDK's current primary documentation, with protocol and package versions recorded separately; do not treat this design as copy-paste server code. The versioned transport specification also matters: for stdio, protocol output must stay separate from diagnostic logging. The reviewable deliverable here is a narrow contract, synthetic fixtures, and expected behavior, with no installation or execution required.

    Related topics

    • Up: MCP and Skills

    • Next: Multi-Agent Design

    Previous

    118 / 173

    Next: Multi-Agent Design

    Up next

    Up nextMulti-Agent Design

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • What MCP Is
    • Clients, Servers, and Capabilities
    • Connect Read-Only Tools