custom-mcp
This project is a custom MCP built with TypeScript, but it has a low rating and lacks clear functionality, failing to meet the standards of an MCP. It may have potential as a developer tool, but further improvements are necessary.
GitHub Stars
0
User Rating
Not Rated
Favorites
0
Views
35
Forks
0
Issues
0
Universal Data MCP Server π§
Connect your LLM to real-world databases, files, and APIs using the Model Context Protocol.
This project provides a lightweight MCP (Model Context Protocol) server built in TypeScript that enables AI assistants (like Claude or Cursor) to query structured databases, fetch external APIs, and inspect local files β all via a clean MCP-compatible interface.
Key Features π
- π¦ Multi-Database Querying: Supports MongoDB, PostgreSQL, MySQL, and SQLite.
- π File Content Access: Read local files using
getFileContent. - π JSON API Integration: Fetch and process external APIs with
fetchAPI. - π§ LLM-Ready: Use natural language with AI tools like Claude or Cursor.
- π οΈ Zod-Schema Validation: Ensures reliable input/output via types.
Available Tools
queryMongo: Query MongoDB collectionsqueryPostgres: Run SQL queries on PostgreSQLqueryMySQL: Run SQL queries on MySQLquerySQLite: Query SQLite DBs from filegetFileContent: Read contents of a filefetchAPI: Send GET requests to JSON APIs
How It Works π€
The system connects via stdin/stdout to a local MCP-compatible client:
[LLM Client] <-> [Universal MCP Server] <-> [Data Sources]
Installation βοΈ
Note: Requires Node.js 18+ and optionally access to databases or files you want to work with.
Prerequisites
Required Software
- Node.js (v18+): Download
- npm or yarn
- MongoDB / PostgreSQL / MySQL / SQLite installed locally or accessible remotely
- An MCP-compatible LLM Client:
Step 1: Clone and Install
git clone https://github.com/HrushiYadav/custom-mcp.git
cd custom-mcp
npm install
Step 2: Start the MCP Server
npm start
This will launch the MCP server and expose all tools via StdioServerTransport.
Configure Your MCP Client π§
Edit your LLM clientβs configuration file to include:
{
"mcpServers": {
"UniversalMCP": {
"command": "npm",
"args": ["start"],
"workingDirectory": "/absolute/path/to/custom-mcp"
}
}
}
Supported clients like Claude or Cursor will automatically detect and start this server.
Usage βΆοΈ
Start your LLM client and try queries like:
Run `SELECT name FROM users WHERE age > 30` on PostgreSQL
Read the content of `package.json`
Fetch data from https://api.coindesk.com/v1/bpi/currentprice.json
Project Structure π§±
src/
βββ index.ts # Main MCP server
βββ tools.ts # Tool registry
βββ utils/ # Tool handlers
βββ api.ts
βββ files.ts
βββ mongo.ts
βββ mysql.ts
βββ postgres.ts
βββ sqlite.ts
Contributing π€
We welcome all contributions to improve and extend the Universal Data MCP Server.
- Fork this repository.
- Create a branch (
feature/your-ideaorbugfix/your-fix). - Make your changes and test them.
- Commit with a clear message (
feat: Add Postgres schema tool). - Open a pull request.
Troubleshooting β
Common Issues
Cannot start server?
- Ensure Node.js 18+ is installed
- Run
npm installbeforenpm start
Client not connecting?
- Verify JSON path in your MCP config matches actual working directory
Database not responding?
- Check DB credentials and network access
- Test connection with your DB tool directly
Contact π
- GitHub: universal-data-mcp-server
- X/Twitter: @hrushi_tw
Acknowledgments π
0
Followers
0
Repositories
0
Gists
0
Total Contributions