Mcp FrameworkCAUTION
The Typescript MCP Framework
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
MCP-Framework is a framework for building Model Context Protocol (MCP) servers elegantly in TypeScript.
MCP-Framework gives you architecture out of the box, with automatic directory-based discovery for tools, resources, and prompts. Use our powerful MCP abstractions to define tools, resources, or prompts in an elegant way. Our cli makes getting started with your own MCP server a breeze
Features
- 🛠️ Automatic discovery and loading of tools, resources, and prompts
- Multiple transport support (stdio, SSE, HTTP Stream)
- TypeScript-first development with full type safety
- Built on the official MCP SDK
- Easy-to-use base classes for tools, prompts, and resources
- Out of the box authentication for SSE endpoints (OAuth 2.1, JWT, API Key)
Projects Built with MCP Framework
The following projects and services are built using MCP Framework:
- ### tip.md
A crypto tipping service that enables AI assistants to help users send cryptocurrency tips to content creators directly from their chat interface. The MCP service allows for:
- Checking wallet types for users
- Preparing cryptocurrency tips for users/agents to complete
Setup instructions for various clients (Cursor, Sage, Claude Desktop) are available in their MCP Server documentation.
Support our work
[](https://tip.md/QuantGeekDev)
Read the full docs here
Creating a repository with mcp-framework
Using the CLI (Recommended)
# Install the framework globally npm install -g mcp-framework # Create a new MCP server project mcp create my-mcp-server # Navigate to your project cd my-mcp-server # Your server is ready to use!
CLI Usage
The framework provides a powerful CLI for managing your MCP server projects:
Project Creation
# Create a new project mcp create # Create a new project with the new EX
d121527a1303OBSERVED · 2026-09-26Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add docs --env COGNITO_CLIENT_SECRET=${COGNITO_CLIENT_SECRET} --env OAUTH_AUDIENCE=${OAUTH_AUDIENCE} --env OAUTH_AUTHORIZATION_SERVER=${OAUTH_AUTHORIZATION_SERVER} --env OAUTH_CLIENT_ID=${OAUTH_CLIENT_ID} -- npx -y @mcpframework/[email protected]{
"mcpServers": {
"docs": {
"command": "npx",
"args": [
"-y",
"@mcpframework/[email protected]"
],
"env": {
"COGNITO_CLIENT_SECRET": "${COGNITO_CLIENT_SECRET}",
"OAUTH_AUDIENCE": "${OAUTH_AUDIENCE}",
"OAUTH_AUTHORIZATION_SERVER": "${OAUTH_AUTHORIZATION_SERVER}",
"OAUTH_CLIENT_ID": "${OAUTH_CLIENT_ID}"
}
}
}
}Exposed tools (13)
13 read · 0 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
Configuration | read | System configuration settings |
Items | read | Retrieve a specific item by its ID |
bad | read | Bad |
calculate | read | Performs basic arithmetic calculations |
current_time | read | Returns the current server time |
dup | read | Dup |
foo | read | Foo |
get_weather | read | Get weather for a location |
hello | read | Returns a greeting message |
search | read | Search the web |
test_tool | read | A test tool |
vis | read | Vis |
weather | read | Get weather information for a specific location |
Trust audit
CAUTIONgrade D · trust 66/100 Install with care. The audit found things worth knowing before you trust its output.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | WARN |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- found
Findings (25)
TOKEN="eyJhbGciOiJSUzI1NiIs..."
const token = 'introspection-valid-token';
const token = 'introspection-inactive-token';
const token = 'test-future-exp-token';
const token = 'test-future-nbf-token';
.env.claude-ai
.env.example.cognito
.release-please-config.json
.release-please-manifest.json
console.log(` 1. Get an access token using client credentials:`);
console.log(` 2. Test the MCP endpoint with the token:`);
console.log(`[Proxy] Token request with body:`, req.body);
console.log(`[Proxy] Token response:`, JSON.stringify(tokenData, null, 2));
console.log(` /token → Cognito OAuth`);
import { FumadocsRemoteSource } from '../../src/sources/fumadocs-remote.js';import { SearchDocsTool } from '../../src/tools/SearchDocsTool.js';import { LlmsTxtSource } from '../../src/sources/llms-txt.js';import { SearchDocsTool } from '../../src/tools/SearchDocsTool.js';import { GetPageTool } from '../../src/tools/GetPageTool.js';const req = http.get(`http://127.0.0.1:${port}${path}`, (res) => {return btoa(atob(str)) === str;
@types/cors, @types/express, cors, dotenv, express, http-proxy-middleware, zod, @types/node
@types/prompts, commander, content-type, dotenv, execa, find-up, jsonwebtoken, jwks-rsa
zod, @jest/globals, @modelcontextprotocol/sdk, @types/jest, @types/node, jest, ts-jest, typescript
- POST to introspection endpoint with token
Gates applied: no_behavioural_pass.
d121527a1303full audit observations/trust-audit/mcp-server/quantgeekdev__mcp-framework-2.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-09-26 | d121527a1303 | CAUTION | D | 66 | first audit |
Questions
What is the Mcp Framework MCP server?
The Typescript MCP Framework
What tools does Mcp Framework expose?
13 in total: 13 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is Mcp Framework safe to connect to an agent?
With care. The audit graded it D (66/100) and found 25 things worth knowing before you trust this server, listed below with the exact line each was found on.
What credentials does Mcp Framework need?
It reads COGNITO_CLIENT_SECRET, OAUTH_AUDIENCE, OAUTH_AUTHORIZATION_SERVER, OAUTH_CLIENT_ID, OAUTH_CLIENT_SECRET, OAUTH_INTROSPECTION_ENDPOINT, OAUTH_ISSUER, OAUTH_JWKS_URI, OAUTH_RESOURCE and OAUTH_VALIDATION_TYPE from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does Mcp Framework run?
It speaks sse, stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as @mcpframework/docs at 0.1.0.
How current is this page?
The grade is for one exact copy of the source (d121527a1303), read on 2026-09-26. The repository is watched and re-audited when it changes.