COMPLETE Context for Vertex AI: Life Sciences MCP Plugin Generation banner
jeremylongshore jeremylongshore

COMPLETE Context for Vertex AI: Life Sciences MCP Plugin Generation

AI community intermediate

Description

COMPLETE Context for Vertex AI: Life Sciences MCP Plugin Generation skill

Installation

Terminal
claude install-skill https://github.com/jeremylongshore/claude-code-plugins-plus-skills

README

COMPLETE Context for Vertex AI: Life Sciences MCP Plugin Generation

What You're Building (Technologies Invented AFTER Your Training)

1. Claude Code (Released 2025)

    undefined

2. Model Context Protocol (MCP) - Announced November 2024

    undefined

**MCP Architecture:**

┌──────────────┐
│  Claude Code │ ← MCP Client (the host application)
│  (Desktop)   │
└──────┬───────┘
       │ Communicates via JSON-RPC 2.0 messages
       │ Over standard input/output (stdio)
       ▼
┌──────────────┐
│  MCP Server  │ ← What you're building (TypeScript/Node.js)
│  (This code) │
└──────────────┘
       │
       │ Makes API calls to external services
       ▼
┌──────────────┐
│   PubMed API │
│   10x Cloud  │
│   Synapse    │
└──────────────┘

3. MCP Protocol Details (You Must Know This)

**JSON-RPC 2.0 Message Types:**

// Request (Client → Server)
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "search_pubmed",
    "arguments": { "query": "cancer" }
  }
}

// Response (Server → Client)
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [{ "type": "text", "text": "Found 1000 articles" }]
  }
}

**Three Core Primitives:**

    undefined

4. TypeScript MCP Server Template (EXACT Pattern to Follow)

import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import {
  CallToolRequestSchema,
  ListToolsRequestSchema,
} from "@modelcontextprotocol/sdk/types.js";
import { z } from "zod";

class PubMedMCPServer {
  private server: Server;

  constructor() {
    // Initialize MCP server
    this.server = new Server(
      {
        name: "pubmed-research-master",
        version: "1.0.0",
      },
      {
        capabilities: {
          tools: {},  // We provide tools
        },
      }
    );

    this.setupToolHandlers()