npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@yglabs/fabric-dataagent

v0.1.0

Published

Wrap a Fabric data agent HTTP MCP server as a local stdio MCP server.

Downloads

78

Readme

fabric-dataagent

Wrap a Fabric data agent HTTP MCP server as a local stdio MCP server.

Quick Start

Run directly with npx:

npx -y @yglabs/fabric-dataagent@latest mcp --url <fabric-dataagent-mcp-url>

Global install:

npm install -g @yglabs/fabric-dataagent
fabric-dataagent mcp --url <fabric-dataagent-mcp-url>

Prebuilt npm binaries currently ship for:

  • win-x64
  • win-arm64
  • linux-x64
  • linux-arm64
  • osx-x64
  • osx-arm64

Usage

fabric-dataagent mcp --url <fabric-dataagent-mcp-url> [--account <upn>] [--client-id <guid>]
fabric-dataagent version

Options:

  • --url: required upstream HTTP MCP server URL
  • --account: optional MSAL account hint
  • --client-id: optional OAuth client ID, defaults to aebc6443-996d-45c2-90f0-388ff96faa56

Example:

fabric-dataagent mcp --url https://msitapi.fabric.microsoft.com/v1/mcp/workspaces/fd7bfa2c-d5a5-428f-a7b5-bb90e9845986/dataagents/bc1561ce-275f-46dc-996c-fabe50b78521/agent

Behavior

  • Local transport is stdio MCP.
  • Upstream transport is HTTP MCP.
  • Requests and notifications are transparently proxied to the upstream server.
  • initialize is forwarded upstream like any other MCP request.
  • Each local process proxies one upstream --url.
  • To use multiple upstream servers at the same time, run multiple local processes with different --url values.

MCP Client Configuration

[mcp_servers.fabric_dataagent]
enabled = true
command = "npx"
args = ["-y", "@yglabs/fabric-dataagent@latest", "mcp", "--url", "https://msitapi.fabric.microsoft.com/v1/mcp/workspaces/fd7bfa2c-d5a5-428f-a7b5-bb90e9845986/dataagents/bc1561ce-275f-46dc-996c-fabe50b78521/agent"]

Authentication

Authentication follows the @microsoft/workiq MSAL flow closely, with a few intentional local differences:

  • OAuth authority and scopes are discovered from the upstream HTTP MCP server challenge and resource metadata.
  • Persisted default accounts use defaultAccount:<hash> keys in ~/.fabric-dataagent/.fabric-dataagent.json, scoped by authority + clientId + scopes.
  • On Windows, broker parent-window resolution prefers a GUI ancestor process window before falling back to the console root-owner window.
  • When --account is not provided, the proxy may retry initialize exactly once with interactive account selection if the first authenticated initialize fails with an allowlisted auth-related error. On Windows this retry uses broker/WAM with Prompt.SelectAccount; on non-Windows platforms where browser fallback is enabled, it uses browser-based account selection.
  • Token cache root is ~/.fabric-dataagent.

Development

Build the project:

dotnet build .\src\FabricDataAgent\FabricDataAgent.csproj

Publish native binaries into the npm package layout:

npm run publish:npm

The default publish script builds all supported RIDs listed above.

Limit local packaging to a single RID:

npm run publish:npm -- --rids win-x64

Verify the npm tarball layout and executable shim:

npm run release:verify

Create a local tarball:

npm run pack:npm

Publish to npm:

npm run publish:registry

Override the staged package name or version during packing or publish:

npm run pack:npm -- --package-name @yglabs/fabric-dataagent --package-version 0.1.0