mcpTool: proc echo(text: string): string = ## Echo back the input text return "Echo: " & text
Nimcp MCP server exists for a simple reason — assistants are far more useful when they can act on Nimcp directly instead of describing what you should do. mcpTool: proc echo(text: string): string = ## Echo back the input text return "Echo: " & text.
Once Nimcp is connected, these are the calls the assistant has available:
Server — initiated eventsRequest — specific state managementInstallation — The Installation tool exposed by this serverTools — Tools are functions that LLM applications can call. Define them with the mcpTool macro that plucks out the tool name, description, and JSON schemaResources — Resources provide data that can be read by LLM applications:Prompts — return @[ McpPromptMessage( role: System, content: createTextContent(&"Review this {language} code for best practices and potential issues.") )Setup follows the usual MCP pattern — install or clone the server, register it in your client's configuration file, restart the client.
Plenty of AI and media services servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Nimcp's toolset — Server, Request, Installation and 3 more — is a fair guide to whether it matches your workflow. It is maintained by gokr; worth a glance at recent repository activity before you build anything load-bearing on it.
We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.
| Tool | What it does |
|---|---|
| Server | initiated events |
| Request | specific state management |
| Installation | The Installation tool exposed by this server. |
| Tools | Tools are functions that LLM applications can call. Define them with the mcpTool macro that plucks out the tool name, description, and JSON schema from your **procedure signature and doc comments**: |
| Resources | Resources provide data that can be read by LLM applications: |
| Prompts | return @[ McpPromptMessage( role: System, content: createTextContent(&"Review this {language} code for best practices and potential issues.") ), McpPromptMessage( role: User, content: createTextContent(code) ) ] |
Build a programmable telecommunications stack for connecting telephony services with the Internet via a cloud-based utility.
Search built for AI, not humans — semantic web search that returns model-ready content, plus code context.
Answers, not links — delegate questions to Perplexity's search-grounded models and get cited responses back.
Give your assistant a voice — text-to-speech, voice cloning and audio tools from the ElevenLabs API.
Give your assistant a real code sandbox — isolated cloud VMs for actually running the code it writes.
The ML hub in your context window — search models, datasets, papers and run Spaces from the official server.