TypeScript MCP Sample Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@TypeScript MCP Sample Server generate a completion using gpt-4 with the prompt 'Write a function to calculate factorial'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Sample
This is a Typescript sample for an MCP Server
Here's a tool creation example:
this.mcpServer.tool(
'completion',
{
model: z.string(),
prompt: z.string(),
options: z.object({
temperature: z.number().optional(),
max_tokens: z.number().optional(),
stream: z.boolean().optional()
}).optional()
},
async ({ model, prompt, options }) => {
console.log(`Processing completion request for model: ${model}`);
// Validate model
if (!this.models.includes(model)) {
throw new Error(`Model ${model} not supported`);
}
// Emit event for monitoring/metrics
this.events.emit('request', {
type: 'completion',
model,
timestamp: new Date()
});
// In a real implementation, this would call an AI model
// Here we just echo back parts of the request with a mock response
const response = {
id: `mcp-resp-${Date.now()}`,
model,
text: `This is a response to: ${prompt.substring(0, 30)}...`,
usage: {
promptTokens: prompt.split(' ').length,
completionTokens: 20,
totalTokens: prompt.split(' ').length + 20
}
};
// Simulate network delay
await new Promise(resolve => setTimeout(resolve, 500));
// Emit completion event
this.events.emit('completion', {
model,
timestamp: new Date()
});
return {
content: [
{
type: 'text',
text: JSON.stringify(response)
}
]
};
}
);Install
Run the following command:
npm installRelated MCP server: HelloWorld MCP Server
Run
npm startAvailable Tools
1 toolcompletionD
Inputs: model (required), prompt (required), options.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 1 tool
With only one tool, there is no possibility of ambiguity or overlap between tools. The single tool 'completion' stands alone with no other tools to confuse it with.
A single tool inherently has perfect naming consistency, as there are no other tool names to compare it against. The name 'completion' follows a clear, simple pattern with no deviations.
A single tool is too few for a server named 'TypeScript MCP Sample Server', which suggests a broader purpose like code assistance or development tasks. One tool feels thin and insufficient for such a scope, limiting functionality.
The tool set is severely incomplete for the inferred domain of TypeScript development. With only a 'completion' tool and no description, it lacks essential operations like code analysis, refactoring, or error checking, leaving significant gaps in coverage.
Maintenance
Related MCP Connectors
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Related MCP Servers
- AlicenseDqualityDmaintenanceA minimal Model Context Protocol server in TypeScript that demonstrates MCP-compliant resources and tools for LLMs, featuring simple resources and a basic tool that echoes messages or returns greetings.15Apache 2.0
- AlicenseBqualityDmaintenanceA simple TypeScript MCP server that provides two tools: one for greeting users with a customizable name and another for adding two numbers together.29 npmMIT
- AlicenseBqualityDmaintenanceA demonstration TypeScript MCP server that showcases basic MCP concepts with simple tools (greeting, calculator), text resources, and prompt templates for learning the Model Context Protocol.2MIT
- AlicenseNot gradedqualityDmaintenanceA simple demonstration MCP server that provides a basic 'say_hello' tool for greeting users by name, serving as a template for building MCP servers with TypeScript.6 npm1ISC