Skip to main content

MCP External Servers Catalog

Comprehensive directory of 58+ Model Context Protocol servers for extending AI capabilities


Overview

The Model Context Protocol (MCP) enables AI models to interact with external tools and data sources through standardized servers. This catalog lists 58+ community and official MCP servers you can integrate with NeuroLink to extend your AI applications.

What is MCP?

MCP is an open protocol that standardizes how AI applications connect to external data sources and tools. Think of it as USB-C for AI - one universal standard for connecting AI models to any tool or data source.

Transport Types

MCP servers communicate using different transport protocols:

TransportUse CaseDescription
stdioLocal serversDefault for CLI-based MCP servers
SSEWeb serversServer-Sent Events for HTTP streaming
WebSocketReal-timeBidirectional real-time communication
HTTPRemote APIsHTTP/Streamable HTTP for remote MCP servers with authentication

Categories

  • 🗄️ Data & Storage (12 servers): Databases, file systems, cloud storage
  • 🌐 Web & APIs (10 servers): Web scraping, HTTP clients, REST APIs
  • 💻 Development Tools (15 servers): Git, Docker, package managers
  • 📊 Productivity (8 servers): Google Drive, Notion, Slack, Email
  • 🔍 Search & Knowledge (6 servers): Web search, knowledge bases
  • 🔧 System & Utilities (7 servers): System operations, monitoring

Quick Start

Installing an MCP Server

import { NeuroLink } from "@juspay/neurolink";

const ai = new NeuroLink({
providers: [
{
name: "anthropic",
config: { apiKey: process.env.ANTHROPIC_API_KEY },
},
],
mcpServers: [
{
name: "filesystem",
command: "npx",
args: [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/yourname/Documents",
],
description: "Access local filesystem",
},
{
name: "github",
command: "npx",
args: ["-y", "@modelcontextprotocol/server-github"],
env: {
GITHUB_PERSONAL_ACCESS_TOKEN: process.env.GITHUB_TOKEN,
},
description: "Interact with GitHub repositories",
},
],
});

// Use MCP tools
const result = await ai.generate({
input: { text: "List files in my Documents folder" },
provider: "anthropic",
tools: "auto", // Automatically uses MCP tools
});

Official MCP Servers

@modelcontextprotocol/server-filesystem

Access local filesystem with read/write capabilities

# Install
npx -y @modelcontextprotocol/server-filesystem [allowed-directory]

Features:

  • Read files and directories
  • Write and create files
  • Search file contents
  • Move and delete files
  • Get file metadata

Use Cases:

  • Document processing
  • Code analysis
  • Log file analysis
  • Automated file management

Configuration:

mcpServers: [
{
name: "filesystem",
command: "npx",
args: [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/yourname/Documents",
],
description: "Access Documents folder",
},
];

Example Usage:

User: "Summarize all markdown files in my Documents"
AI: *uses filesystem server to read .md files, then summarizes*

@modelcontextprotocol/server-github

Complete GitHub integration

# Install
npm install -g @modelcontextprotocol/server-github

# Set token
export GITHUB_PERSONAL_ACCESS_TOKEN=ghp_your_token

Features:

  • Search repositories
  • Create/update issues and PRs
  • Read file contents
  • Manage branches
  • Search code
  • List commits

Use Cases:

  • Automated code reviews
  • Issue management
  • Repository analysis
  • CI/CD integration

Configuration:

mcpServers: [
{
name: "github",
command: "npx",
args: ["-y", "@modelcontextprotocol/server-github"],
env: {
GITHUB_PERSONAL_ACCESS_TOKEN: process.env.GITHUB_TOKEN,
},
},
];

Example Usage:

User: "Create an issue in my repo about the authentication bug"
AI: *creates GitHub issue with description*

@modelcontextprotocol/server-postgres

PostgreSQL database access

# Install
npm install -g @modelcontextprotocol/server-postgres

Features:

  • Execute SQL queries
  • List schemas and tables
  • Analyze query performance
  • Database introspection

Configuration:

mcpServers: [
{
name: "postgres",
command: "npx",
args: ["-y", "@modelcontextprotocol/server-postgres"],
env: {
POSTGRES_CONNECTION_STRING: "postgresql://user:pass@localhost:5432/mydb",
},
},
];

Example Usage:

User: "How many users signed up this month?"
AI: *queries database and provides count*

@modelcontextprotocol/server-google-drive

Google Drive integration

npm install -g @modelcontextprotocol/server-google-drive

Features:

  • Search files and folders
  • Read document contents
  • Upload files
  • Share files
  • Manage permissions

Configuration:

mcpServers: [
{
name: "gdrive",
command: "npx",
args: ["-y", "@modelcontextprotocol/server-google-drive"],
env: {
GOOGLE_APPLICATION_CREDENTIALS: "/path/to/credentials.json",
},
},
];

@modelcontextprotocol/server-slack

Slack workspace integration

Features:

  • Send messages
  • Read channel history
  • Search messages
  • Manage channels
  • User information

Configuration:

mcpServers: [
{
name: "slack",
command: "npx",
args: ["-y", "@modelcontextprotocol/server-slack"],
env: {
SLACK_BOT_TOKEN: process.env.SLACK_BOT_TOKEN,
SLACK_TEAM_ID: process.env.SLACK_TEAM_ID,
},
},
];

Data & Storage Servers (12)

Databases

ServerDescriptionInstallAuth
postgresPostgreSQL databasenpx @modelcontextprotocol/server-postgresConnection string
sqliteSQLite databasenpx @modelcontextprotocol/server-sqliteFile path
mysqlMySQL/MariaDBnpx @modelcontextprotocol/server-mysqlConnection string
mongodbMongoDB databasenpm -g @modelcontextprotocol/server-mongodbConnection string
redisRedis key-value storenpm -g @modelcontextprotocol/server-redisConnection string

File Systems & Cloud Storage

ServerDescriptionInstallAuth
filesystemLocal filesystemnpx @modelcontextprotocol/server-filesystemDirectory path
google-driveGoogle Drivenpx @modelcontextprotocol/server-google-driveOAuth credentials
aws-s3Amazon S3 storagenpm -g @modelcontextprotocol/server-aws-s3AWS credentials
azure-blobAzure Blob Storagenpm -g @modelcontextprotocol/server-azure-blobAzure credentials
dropboxDropbox storagenpm -g @modelcontextprotocol/server-dropboxOAuth token

Web & APIs Servers (10)

ServerDescriptionInstallKey Features
fetchHTTP clientnpx @modelcontextprotocol/server-fetchGET/POST requests, headers
puppeteerBrowser automationnpx @modelcontextprotocol/server-puppeteerWeb scraping, screenshots
brave-searchBrave Search APInpm -g @modelcontextprotocol/server-brave-searchWeb search, news
google-searchGoogle Custom Searchnpm -g @modelcontextprotocol/server-google-searchWeb search, images
exaExa search enginenpm -g @modelcontextprotocol/server-exaSemantic web search
weatherWeather datanpm -g @modelcontextprotocol/server-weatherCurrent & forecast
newsNews aggregatornpm -g @modelcontextprotocol/server-newsLatest news articles
rssRSS feed readernpm -g @modelcontextprotocol/server-rssFeed parsing
http-apiGeneric HTTP APInpm -g @modelcontextprotocol/server-http-apiREST API client
graphqlGraphQL clientnpm -g @modelcontextprotocol/server-graphqlGraphQL queries

Development Tools Servers (15)

Version Control

ServerDescriptionInstallFeatures
githubGitHub APInpx @modelcontextprotocol/server-githubRepos, issues, PRs
gitlabGitLab APInpm -g @modelcontextprotocol/server-gitlabProjects, merge requests
gitLocal Git operationsnpx @modelcontextprotocol/server-gitCommit, branch, diff

CI/CD & DevOps

ServerDescriptionInstallFeatures
dockerDocker managementnpm -g @modelcontextprotocol/server-dockerContainers, images
kubernetesK8s cluster mgmtnpm -g @modelcontextprotocol/server-kubernetesPods, deployments
terraformInfrastructure as codenpm -g @modelcontextprotocol/server-terraformPlan, apply, state
awsAWS operationsnpm -g @modelcontextprotocol/server-awsEC2, S3, Lambda
gcpGoogle Cloudnpm -g @modelcontextprotocol/server-gcpCompute, storage
azureMicrosoft Azurenpm -g @modelcontextprotocol/server-azureVMs, storage

Package Managers

ServerDescriptionInstallFeatures
npmNPM packagesnpx @modelcontextprotocol/server-npmSearch, install, info
pipPython packagesnpm -g @modelcontextprotocol/server-pipSearch, install
cargoRust packagesnpm -g @modelcontextprotocol/server-cargoCrates.io search

Productivity Servers (8)

ServerDescriptionInstallKey Features
google-driveGoogle Drivenpx @modelcontextprotocol/server-google-driveFiles, docs, sheets
google-calendarGoogle Calendarnpm -g @modelcontextprotocol/server-google-calendarEvents, scheduling
google-gmailGmailnpm -g @modelcontextprotocol/server-google-gmailSend, read emails
slackSlack workspacenpx @modelcontextprotocol/server-slackMessages, channels
notionNotion workspacenpm -g @modelcontextprotocol/server-notionPages, databases
trelloTrello boardsnpm -g @modelcontextprotocol/server-trelloCards, lists
jiraJira issuesnpm -g @modelcontextprotocol/server-jiraIssues, sprints
linearLinear issuesnpm -g @modelcontextprotocol/server-linearIssues, projects

Search & Knowledge Servers (6)

ServerDescriptionInstallUse Case
brave-searchWeb searchnpm -g @modelcontextprotocol/server-brave-searchGeneral web search
google-searchGoogle searchnpm -g @modelcontextprotocol/server-google-searchWeb & image search
exaSemantic searchnpm -g @modelcontextprotocol/server-exaAI-powered search
wikipediaWikipedianpm -g @modelcontextprotocol/server-wikipediaEncyclopedia lookup
wolframWolfram Alphanpm -g @modelcontextprotocol/server-wolframComputational knowledge
arxivResearch papersnpm -g @modelcontextprotocol/server-arxivAcademic papers

System & Utilities Servers (7)

ServerDescriptionInstallFeatures
shellShell commandsnpx @modelcontextprotocol/server-shellExecute commands
timeTime utilitiesnpm -g @modelcontextprotocol/server-timeTimezones, formatting
memoryPersistent memorynpx @modelcontextprotocol/server-memoryStore/retrieve data
calculatorMath operationsnpm -g @modelcontextprotocol/server-calculatorCalculations
encryptionCrypto operationsnpm -g @modelcontextprotocol/server-encryptionEncrypt/decrypt
qr-codeQR code generatornpm -g @modelcontextprotocol/server-qr-codeGenerate QR codes
imageImage processingnpm -g @modelcontextprotocol/server-imageResize, convert

Remote HTTP MCP Servers

NeuroLink supports connecting to remote MCP servers over HTTP/Streamable HTTP transport with authentication, retry logic, and rate limiting.

Configuring Remote HTTP Servers

const ai = new NeuroLink({
providers: [
{ name: "anthropic", config: { apiKey: process.env.ANTHROPIC_API_KEY } },
],
mcpServers: [
// Remote API with Bearer token
{
name: "remote-api",
transport: "http",
url: "https://api.example.com/mcp",
headers: {
Authorization: `Bearer ${process.env.API_TOKEN}`,
},
httpOptions: {
connectionTimeout: 30000,
requestTimeout: 60000,
},
retryConfig: {
maxAttempts: 3,
initialDelay: 1000,
maxDelay: 30000,
},
},

// Remote server with API key
{
name: "external-tools",
transport: "http",
url: "https://tools.example.com/mcp",
headers: {
"X-API-Key": process.env.TOOLS_API_KEY,
},
rateLimiting: {
requestsPerMinute: 60,
maxBurst: 10,
},
},

// OAuth 2.1 protected server
{
name: "oauth-protected",
transport: "http",
url: "https://secure.example.com/mcp",
auth: {
type: "oauth2",
oauth: {
clientId: process.env.OAUTH_CLIENT_ID,
clientSecret: process.env.OAUTH_CLIENT_SECRET,
tokenEndpoint: "https://auth.example.com/oauth/token",
scopes: ["mcp:read", "mcp:write"],
usePKCE: true,
},
},
},
],
});

HTTP Transport Configuration Options

OptionTypeDescription
transport"http"Transport type for remote servers
urlstringURL of the remote MCP endpoint
headersobjectHTTP headers for authentication
httpOptions.connectionTimeoutnumberConnection timeout in ms (default: 30000)
httpOptions.requestTimeoutnumberRequest timeout in ms (default: 60000)
httpOptions.idleTimeoutnumberIdle timeout in ms (default: 120000)
httpOptions.keepAliveTimeoutnumberKeep-alive timeout in ms (default: 30000)
retryConfig.maxAttemptsnumberMax retry attempts (default: 3)
retryConfig.initialDelaynumberInitial retry delay in ms (default: 1000)
retryConfig.maxDelaynumberMax retry delay in ms (default: 30000)
retryConfig.backoffMultipliernumberBackoff multiplier (default: 2)
rateLimiting.requestsPerMinutenumberRate limit per minute
rateLimiting.maxBurstnumberMax burst requests
rateLimiting.useTokenBucketbooleanUse token bucket algorithm

Authentication Types

Bearer Token:

{
headers: {
"Authorization": "Bearer YOUR_TOKEN"
}
}

API Key:

{
headers: {
"X-API-Key": "your-api-key"
}
}

OAuth 2.1 with PKCE:

{
auth: {
type: "oauth2",
oauth: {
clientId: "your-client-id",
clientSecret: "your-client-secret",
tokenEndpoint: "https://auth.example.com/oauth/token",
scopes: ["mcp:read", "mcp:write"],
usePKCE: true
}
}
}

See MCP HTTP Transport Guide for complete documentation.


Advanced Integrations

Multi-Server Setup

const ai = new NeuroLink({
providers: [
{ name: "anthropic", config: { apiKey: process.env.ANTHROPIC_API_KEY } },
],
mcpServers: [
// Filesystem access
{
name: "filesystem",
command: "npx",
args: ["-y", "@modelcontextprotocol/server-filesystem", process.cwd()],
},

// GitHub integration
{
name: "github",
command: "npx",
args: ["-y", "@modelcontextprotocol/server-github"],
env: { GITHUB_PERSONAL_ACCESS_TOKEN: process.env.GITHUB_TOKEN },
},

// PostgreSQL database
{
name: "postgres",
command: "npx",
args: ["-y", "@modelcontextprotocol/server-postgres"],
env: { POSTGRES_CONNECTION_STRING: process.env.DATABASE_URL },
},

// Web search
{
name: "brave-search",
command: "npx",
args: ["-y", "@modelcontextprotocol/server-brave-search"],
env: { BRAVE_API_KEY: process.env.BRAVE_API_KEY },
},

// Slack integration
{
name: "slack",
command: "npx",
args: ["-y", "@modelcontextprotocol/server-slack"],
env: {
SLACK_BOT_TOKEN: process.env.SLACK_BOT_TOKEN,
SLACK_TEAM_ID: process.env.SLACK_TEAM_ID,
},
},
],
});

// AI can now use all these tools automatically
const result = await ai.generate({
input: {
text: `
1. Search for "TypeScript best practices"
2. Create a GitHub issue with the findings
3. Query our users table for signup trends
4. Send summary to #engineering Slack channel
`,
},
provider: "anthropic",
model: "claude-3-5-sonnet-20241022",
tools: "auto",
});

Custom MCP Server

Create your own MCP server:

// my-custom-server.ts
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";

const server = new Server(
{
name: "my-custom-server",
version: "1.0.0",
},
{
capabilities: {
tools: {},
},
},
);

// Define custom tools
server.setRequestHandler("tools/list", async () => ({
tools: [
{
name: "custom_api_call",
description: "Call my custom API",
inputSchema: {
type: "object",
properties: {
endpoint: { type: "string" },
method: { type: "string", enum: ["GET", "POST"] },
},
required: ["endpoint"],
},
},
],
}));

server.setRequestHandler("tools/call", async (request) => {
if (request.params.name === "custom_api_call") {
const { endpoint, method = "GET" } = request.params.arguments;

const response = await fetch(`https://myapi.com/${endpoint}`, {
method,
headers: { Authorization: `Bearer ${process.env.API_KEY}` },
});

return {
content: [
{
type: "text",
text: JSON.stringify(await response.json(), null, 2),
},
],
};
}

throw new Error("Unknown tool");
});

// Start server
const transport = new StdioServerTransport();
await server.connect(transport);

Use custom server:

mcpServers: [
{
name: "my-custom-server",
command: "node",
args: ["./my-custom-server.js"],
env: {
API_KEY: process.env.MY_API_KEY,
},
},
];

Use Case Examples

1. Code Review Automation

const ai = new NeuroLink({
providers: [
{ name: "anthropic", config: { apiKey: process.env.ANTHROPIC_API_KEY } },
],
mcpServers: [
{
name: "github",
command: "npx",
args: ["-y", "@modelcontextprotocol/server-github"],
},
{
name: "filesystem",
command: "npx",
args: ["-y", "@modelcontextprotocol/server-filesystem", "./"],
},
],
});

const result = await ai.generate({
input: { text: "Review all open PRs in my repo and suggest improvements" },
tools: "auto",
});

2. Database Analytics

const ai = new NeuroLink({
providers: [
{ name: "anthropic", config: { apiKey: process.env.ANTHROPIC_API_KEY } },
],
mcpServers: [
{
name: "postgres",
command: "npx",
args: ["-y", "@modelcontextprotocol/server-postgres"],
env: { POSTGRES_CONNECTION_STRING: process.env.DATABASE_URL },
},
],
});

const result = await ai.generate({
input: {
text: "Analyze user signup trends for the past 3 months and identify patterns",
},
tools: "auto",
});

3. Customer Support Automation

const ai = new NeuroLink({
providers: [
{ name: "anthropic", config: { apiKey: process.env.ANTHROPIC_API_KEY } },
],
mcpServers: [
{
name: "slack",
command: "npx",
args: ["-y", "@modelcontextprotocol/server-slack"],
},
{
name: "jira",
command: "npx",
args: ["-y", "@modelcontextprotocol/server-jira"],
},
{
name: "notion",
command: "npx",
args: ["-y", "@modelcontextprotocol/server-notion"],
},
],
});

const result = await ai.generate({
input: {
text: `
1. Read recent support tickets from Jira
2. Categorize by priority
3. Create summary in Notion
4. Alert #support channel in Slack for P0 issues
`,
},
tools: "auto",
});

Best Practices

1. ✅ Limit Server Permissions

// ✅ Good: Restrict filesystem access
mcpServers: [
{
name: "filesystem",
command: "npx",
args: ["-y", "@modelcontextprotocol/server-filesystem", "/safe/directory"],
// Not entire system: '/'
},
];

2. ✅ Use Environment Variables for Secrets

// ✅ Good: Store secrets in env vars
env: {
GITHUB_PERSONAL_ACCESS_TOKEN: process.env.GITHUB_TOKEN; // From .env
// Not hardcoded: 'ghp_abc123...'
}

3. ✅ Test Servers Individually

// ✅ Test each server works before combining
const testServer = new NeuroLink({
mcpServers: [
{
name: "github", // Test one at a time
command: "npx",
args: ["-y", "@modelcontextprotocol/server-github"],
},
],
});

4. ✅ Monitor MCP Server Usage

// ✅ Track tool usage via analytics middleware
const neurolink = new NeuroLink({
middleware: {
analytics: {
enabled: true,
},
},
});

const result = await neurolink.generate({
input: { text: "Your prompt" },
tools: "auto",
});

// Analytics data is available in the result metadata
// You can also enable debug logging to see tool execution details:
// DEBUG=neurolink:* npx neurolink generate "Your prompt"

5. ✅ Handle Server Failures Gracefully

// ✅ Provide fallback when MCP server fails
try {
const result = await ai.generate({
input: { text: "Search GitHub for TypeScript repos" },
tools: "auto",
});
} catch (error) {
if (error.message.includes("MCP server")) {
console.error("MCP server unavailable, using basic search");
// Fallback to non-MCP approach
}
throw error;
}

Troubleshooting

Server Won't Start

Problem: MCP server fails to initialize.

Solution:

# Test server manually
npx @modelcontextprotocol/server-github

# Check logs
DEBUG=mcp:* npx @modelcontextprotocol/server-github

# Verify installation
npm list -g | grep modelcontextprotocol

Authentication Errors

Problem: Server can't authenticate with external service.

Solution:

# Verify environment variables
echo $GITHUB_PERSONAL_ACCESS_TOKEN

# Check token permissions
# - GitHub: repo, read:org scopes required
# - Google: OAuth scopes must include drive.readonly

Tool Not Available

Problem: AI can't see MCP tools.

Solution:

// Verify server is loaded
console.log(ai.listMCPServers());

// Explicitly enable tools
const result = await ai.generate({
input: { text: "Your prompt" },
tools: "auto", // Must be 'auto' or specific tool list
provider: "anthropic", // MCP requires Claude 3.5+
});


Additional Resources


Need Help? Join our GitHub Discussions or open an issue.