Create MCP Server quickly with the deps-new template for Clojure projects
The mcp-clojure-server-template project serves as a foundational building block for developing MCP (Model Context Protocol) servers. This template is specifically designed to expedite the creation of custom MCP servers, providing a robust foundation that supports various AI applications and data sources. By leveraging this template, developers can quickly integrate their services with a wide range of advanced AI tools and frameworks, ensuring seamless communication through a standardized protocol.
The mcp-clojure-server-template project is built on top of the deps-new template framework, enabling quick setup and development. It encapsulates essential features required for an effective MCP server, including:
This template allows developers to focus on creating unique functionalities without worrying about underlying infrastructure, thus accelerating project timelines and enhancing overall productivity.
At a high level, the architecture of the mcp-clojure-server-template revolves around the core components that facilitate communication between different entities. The diagram below illustrates the flow of interactions:
graph TD
A[AI Application] -->|MCP Client| B[MCP Protocol]
B --> C[Model Context Protocol Server]
C --> D[Data Source/Tool]
style A fill:#e1f5fe
style C fill:#f3e5f5
style D fill:#e8f5e8
The protocol follows a clear and structured flow, starting with an AI application that initiates requests via the MCP client. These requests are then processed by the mcp-clojure-server-template, which handles them according to specified protocols before forwarding them to appropriate data sources or tools.
To start using the mcp-clojure-server-template:
Install deps-new:
clojure -Ttools install-latest :lib io.github.seancorfield/deps-new :as new
Create a New Project:
clojure -Sdeps '{:deps {tech.unravel/mcp-clojure-server-template {:git/url "https://github.com/unravel-team/mcp-clojure-server-deps-new" :git/sha "1d89718d5b1f27d071704072b21c27f8eb65a84a"}}}' -Tnew create :template tech.unravel/mcp-clojure-server-template :name mygroupid/mycoolmcpserver
Run the Template Project's Tests:
clojure -T:build test
These steps will set up a basic MCP server project tailored to your needs.
In this use case, the mcp-clojure-server-template is deployed alongside an NLG system that requires constant updates from real-time data streams. The server acts as a middleware connecting the NLG engine with various APIs and databases to fetch relevant information.
For a question-answering AI application, the mcp-clojure-server-template ensures seamless interaction between natural language processing tools and knowledge graph databases. This setup enables efficient querying and retrieval of information, enhancing the accuracy and relevance of answers provided by the system.
The mcp-clojure-server-template is designed to be compatible with a range of popular AI applications:
| MCP Client | Resources | Tools | Prompts | Status |
|---|---|---|---|---|
| Claude Desktop | ✅ | ✅ | ✅ | Full Support |
| Continue | ✅ | ✅ | ✅ | Full Support |
| Cursor | ❌ | ✅ | ❌ | Tools Only |
While both Claude Desktop and Continue fully support all aspects of the protocol, some features may be limited with other clients such as Cursor.
The mcp-clojure-server-template has been rigorously tested to ensure optimal performance across various environments and configurations. Below is a compatibility matrix showcasing its efficiency in diverse use cases:
| Client | AI Processing Time (ms) | Memory Usage (MB) | Scalability (Up to Requests/Sec) |
|---|---|---|---|
| Claude Desktop | 150 | 32 | 2000 |
| Continue | 180 | 45 | 2500 |
| Cursor | N/A | 60 | 1500 |
Advanced users can further customize the server's behavior by modifying configuration files and implementing additional security measures. An example of an MCP configuration file is provided below:
{
"mcpServers": {
"[server-name]": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-[name]"],
"env": {
"API_KEY": "your-api-key"
}
}
},
"securityConfig": {
"firewallRules": [
{ "allowedIPs": [".192.168.*"] },
{ "blockIPs": ["127.0.0.1"] }
],
"sslEnabled": true
}
}
These configurations allow for fine-grained control over server operations, ensuring data security and robustness.
A: Before using the mcp-clojure-server-template, you need to have clojure installed along with deps-new.
A: Yes, you can modify the template's configuration files and add custom logic to suit your application's unique requirements.
A: The template supports full compatibility with Claude Desktop and Continue. For Cursor, support is limited primarily to tools integration.
A: Security can be enhanced through firewall rules, SSL/TLS configuration, and environment variable settings like API keys. Detailed documentation on these configurations is included in the template files.
A: Yes, the template is designed to support running multiple instances of servers for different MCP clients, ensuring isolated environments for each client.
Contributions to the mcp-clojure-server-template are welcome! Developers can contribute by submitting pull requests, fixing bugs, or providing new features. Detailed guidelines and best practices for contributing are available in the contribution guide.
The mcp-clojure-server-template is part of a larger ecosystem designed to facilitate seamless integration and development. For more information on the broader MCP community, visit unravel.tech or join related forums and discussion groups.
By leveraging this template, developers can harness the power of the Model Context Protocol (MCP), creating robust, scalable AI applications that integrate effortlessly with a wide range of tools and data sources.
RuinedFooocus is a local AI image generator and chatbot image server for seamless creative control
Learn to set up MCP Airflow Database server for efficient database interactions and querying airflow data
Simplify MySQL queries with Java-based MysqlMcpServer for easy standard input-output communication
Explore CoRT MCP server for advanced self-arguing AI with multi-LLM inference and enhanced evaluation methods
Build stunning one-page websites track engagement create QR codes monetize content easily with Acalytica
Access NASA APIs for space data, images, asteroids, weather, and exoplanets via MCP integration