<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Dutify</title>
    <description>The latest articles on DEV Community by Dutify (@dutify).</description>
    <link>https://dev.to/dutify</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4206614%2Fcbe4641f-1a73-49dd-becc-e22c93f0c7c5.png</url>
      <title>DEV Community: Dutify</title>
      <link>https://dev.to/dutify</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dutify"/>
    <language>en</language>
    <item>
      <title>Give your AI agent one MCP connector to your whole workspace</title>
      <dc:creator>Dutify</dc:creator>
      <pubDate>Sun, 25 Oct 2026 12:54:27 +0000</pubDate>
      <link>https://dev.to/dutify/give-your-ai-agent-one-mcp-connector-to-your-whole-workspace-3fn8</link>
      <guid>https://dev.to/dutify/give-your-ai-agent-one-mcp-connector-to-your-whole-workspace-3fn8</guid>
      <description>&lt;p&gt;Most AI agents start their first day the way a new hire does: one login for the task tracker, another for the docs, another for call recordings, another for customer feedback. Every extra tool is another token to manage, another set of permissions to reason about, and another place where the agent's picture of the work goes stale.&lt;/p&gt;

&lt;p&gt;This tutorial connects an agent to all four through one hosted MCP server and one API key, using &lt;a href="https://dutify.ai" rel="noopener noreferrer"&gt;Dutify&lt;/a&gt;. It takes about five minutes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fx2fmfspcvhxoyeu60pwi.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fx2fmfspcvhxoyeu60pwi.gif" alt="An AI agent gets tasks, docs, calls and feedback through one sign-in" width="480" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What you get
&lt;/h2&gt;

&lt;p&gt;One remote MCP server at &lt;code&gt;https://mcp.dutify.ai&lt;/code&gt; (Streamable HTTP), covering four products:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Product&lt;/th&gt;
&lt;th&gt;Tools&lt;/th&gt;
&lt;th&gt;What they cover&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Dutify Cloud (projects)&lt;/td&gt;
&lt;td&gt;&lt;code&gt;pm_*&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Tasks, subtasks, comments, sprints, views, custom fields, time tracking&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Dutify Hub (calls)&lt;/td&gt;
&lt;td&gt;&lt;code&gt;hub_*&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Call recordings, transcripts, summaries, search across calls&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Codexum (wiki)&lt;/td&gt;
&lt;td&gt;&lt;code&gt;wiki_*&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Spaces, pages, search, attachments&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Roadmarq (feedback)&lt;/td&gt;
&lt;td&gt;&lt;code&gt;fr_*&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Feature requests, bugs, votes, statuses&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Plus a handful of discovery tools (&lt;code&gt;whoami&lt;/code&gt;, &lt;code&gt;list_workspaces&lt;/code&gt;, &lt;code&gt;find_my_workspace&lt;/code&gt;) so the agent can orient itself. The tool list is public; every data call needs a key, and the backend enforces that key's scopes and your workspace permissions on each call.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Get a key
&lt;/h2&gt;

&lt;p&gt;Sign up at &lt;a href="https://dutify.cloud" rel="noopener noreferrer"&gt;dutify.cloud&lt;/a&gt; (free), then create a &lt;strong&gt;personal key&lt;/strong&gt; in account settings. It starts with &lt;code&gt;du_live_&lt;/code&gt; and works across every product your account can access.&lt;/p&gt;

&lt;p&gt;If you'd rather keep an agent inside one product, workspace keys exist too: &lt;code&gt;dk_live_…&lt;/code&gt; for Cloud, Codexum and Roadmarq, &lt;code&gt;dh_live_…&lt;/code&gt; for Hub.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Connect your client
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Claude Code:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude mcp add &lt;span class="nt"&gt;--transport&lt;/span&gt; http dutify https://mcp.dutify.ai &lt;span class="nt"&gt;--header&lt;/span&gt; &lt;span class="s2"&gt;"X-API-Key: du_live_YOUR_KEY"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Cursor, Claude Desktop and other JSON-config clients:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"dutify"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://mcp.dutify.ai"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"headers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"X-API-Key"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"du_live_YOUR_KEY"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;VS Code&lt;/strong&gt; (&lt;code&gt;.vscode/mcp.json&lt;/code&gt;):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"servers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"dutify"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"http"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://mcp.dutify.ai"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"headers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"X-API-Key"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"du_live_YOUR_KEY"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  3. First calls
&lt;/h2&gt;

&lt;p&gt;Ask the agent to run &lt;code&gt;whoami&lt;/code&gt; and then &lt;code&gt;list_workspaces&lt;/code&gt;. With a personal key, the agent passes the workspace on each data call; you can also pin one with an &lt;code&gt;X-Dutify-Workspace&lt;/code&gt; header.&lt;/p&gt;

&lt;p&gt;From there the useful prompts are the ones that cross tools, because that's the part a single-product integration can't do:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"What did we decide about pricing on last week's calls, and is there a task for it?"&lt;/li&gt;
&lt;li&gt;"Summarize the open feature requests tagged Jira and link any related wiki pages."&lt;/li&gt;
&lt;li&gt;"Create a task for each action item from today's call and assign it to the person who took it."&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  A note on scope
&lt;/h2&gt;

&lt;p&gt;One connector does not mean one giant permission. A personal key can only reach what your account can reach, and a workspace key is bound to one workspace and product family. For an agent that only needs to read the roadmap, give it a narrow key, not your personal one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Server docs and configs for more clients: &lt;a href="https://github.com/dutifyai/dutify-mcp" rel="noopener noreferrer"&gt;github.com/dutifyai/dutify-mcp&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Official MCP Registry: &lt;code&gt;io.github.dutifyai/dutify&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Product: &lt;a href="https://dutify.ai" rel="noopener noreferrer"&gt;dutify.ai&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>mcp</category>
      <category>productivity</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
