---
description: project structure
globs:
alwaysApply: false
---
# Repository Structure
This document provides an overview of the directory structure for this repository.
```
/
├── .github/ # GitHub specific configurations
│ ├── ISSUE_TEMPLATE/ # Templates for creating GitHub issues
│ │ ├── bug_report.yml # Template for bug reports
│ │ ├── config.yml # Configuration for issue templates
│ │ └── feature_request.yml # Template for feature requests
│ └── workflows/ # GitHub Actions workflows
│ ├── main.yml # Main CI/CD workflow (e.g., testing, linting)
│ └── release.yml # Workflow for creating releases
├── .git/ # Git version control data (usually hidden)
├── .vscode/ # VS Code editor configurations
├── modelcontextprotocol/ # Core package for the Model Context Protocol implementation
│ ├── node_modules/ # Project dependencies (managed by npm/pnpm/yarn)
│ ├── scripts/ # Utility scripts for the package
│ │ └── publish # Script for publishing the package
│ ├── src/ # Source code for the modelcontextprotocol package
│ │ ├── index.ts # Main entry point for the package
│ │ └── test/ # Unit tests for the package
│ │ └── index.test.ts # Tests for the main entry point
│ ├── .gitignore # Specifies intentionally untracked files that Git should ignore
│ ├── .prettierrc # Configuration file for the Prettier code formatter
│ ├── eslint.config.mjs # Configuration file for the ESLint linter
│ ├── jest.config.ts # Configuration file for the Jest testing framework
│ ├── package-lock.json # Records exact versions of dependencies (npm)
│ ├── package.json # Defines package metadata, dependencies, and scripts
│ ├── pnpm-lock.yaml # Records exact versions of dependencies (pnpm)
│ ├── README.md # README specific to the modelcontextprotocol package
│ └── tsconfig.json # TypeScript compiler options for this package
├── typescript/ # TypeScript specific implementations or toolkits using the protocol
│ ├── examples/ # Example usage of the TypeScript toolkit
│ │ ├── ai-sdk/ # Example using the AI SDK integration
│ │ │ ├── .env.template # Template for environment variables
│ │ │ ├── index.ts # Example script demonstrating usage
│ │ │ ├── package.json # Dependencies for the example
│ │ │ ├── README.md # README for the ai-sdk example
│ │ │ └── tsconfig.json # TypeScript configuration for the example
│ │ └── langchain/ # Example using the Langchain integration
│ │ ├── .env.template # Template for environment variables
│ │ ├── index.ts # Example script demonstrating usage
│ │ ├── package.json # Dependencies for the example
│ │ ├── README.md # README for the langchain example
│ │ └── tsconfig.json # TypeScript configuration for the example
│ ├── node_modules/ # Project dependencies (managed by npm/pnpm/yarn)
│ ├── scripts/ # Utility scripts for the TypeScript packages/workspace
│ │ └── publish # Script for publishing the package(s)
│ ├── src/ # Source code for the TypeScript toolkit/packages
│ │ ├── ai-sdk/ # Integration layer for the AI SDK
│ │ │ ├── index.ts # Entry point for the AI SDK integration
│ │ │ └── toolkit.ts # Toolkit implementation specific to AI SDK
│ │ ├── langchain/ # Integration layer for Langchain
│ │ │ ├── index.ts # Entry point for the Langchain integration
│ │ │ └── toolkit.ts # Toolkit implementation specific to Langchain
│ │ ├── modelcontextprotocol/# Re-export or specific implementation related to the core protocol
│ │ │ ├── index.ts # Entry point
│ │ │ └── toolkit.ts # Toolkit implementation
│ │ ├── shared/ # Shared utilities and components for TypeScript packages
│ │ │ ├── api.ts # API definitions or clients
│ │ │ ├── configuration.ts # Configuration handling logic
│ │ │ ├── functions.ts # Utility functions
│ │ │ ├── parameters.ts # Parameter definitions or handling
│ │ │ ├── prompts.ts # Prompt templates or management
│ │ │ └── tools.ts # Tool definitions or handling
│ │ └── test/ # Tests for the TypeScript code
│ │ └── shared/ # Tests for the shared components
│ │ ├── configuration.test.ts # Tests for configuration logic
│ │ └── functions.test.ts # Tests for utility functions
│ ├── .gitignore # Specifies intentionally untracked files that Git should ignore
│ ├── .prettierrc # Configuration file for the Prettier code formatter
│ ├── .vscode/ # VS Code editor configurations specific to the typescript directory
│ ├── eslint.config.mjs # Configuration file for the ESLint linter
│ ├── jest.config.ts # Configuration file for the Jest testing framework
│ ├── package-lock.json # Records exact versions of dependencies (npm)
│ ├── package.json # Defines package metadata, dependencies, and scripts (likely for the workspace)
│ ├── pnpm-lock.yaml # Records exact versions of dependencies (pnpm)
│ ├── pnpm-workspace.yaml # Defines the pnpm workspace configuration
│ ├── README.md # README specific to the TypeScript part of the repository
│ ├── template.env # Template for environment variables
│ ├── tsconfig.json # Base TypeScript compiler options for the workspace
│ └── tsup.config.ts # Configuration for the tsup bundler
├── .gitignore # Specifies intentionally untracked files that Git should ignore at the root level
├── LICENSE # Repository license information
├── package-lock.json # Records exact versions of root-level dependencies (if any, potentially for dev tools)
├── package.json # Root package.json, might define workspace root or global dev dependencies
├── README.md # Main README file for the repository
└── SECURITY.md # Security policy and reporting instructions
```