mcpField
T
teamctx

teamctx

Local
github.com/CloudCorpRecordsMemory & Knowledge0Updated 1w ago

About teamctx

teamctx is a forwarding client for ProductNow's hosted shared team context, available as a CLI and stdio MCP server. It supports document search, reading, writing, and organization, forwarding calls to ProductNow rather than hosting the service itself.

Key features

  1. 01Search shared context and help content
  2. 02Read documents and browse folders
  3. 03Store facts and create or edit documents
  4. 04Move, rename, archive, and comment on documents
  5. 05Manage document versions and status
  6. 06CLI and stdio MCP server

Use cases

  1. 01Find workspace documents with cited excerpts
  2. 02Store team decisions or notes in shared context
  3. 03Create, edit, and organize documents
  4. 04Review document versions and comment threads

MCP support

teamctx forwards CLI or MCP tool calls to ProductNow's hosted Streamable HTTP MCP endpoint. It provides 16 documented upstream tools and requires a supplied access token.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"cloudcorprecords-teamctx": {
"command": "npx",
"args": [
"-y",
"@reneturcios/teamctx"
]
}
}
}
Run commandnpx -y @reneturcios/teamctx

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@reneturcios/teamctx0.1.0
ocighcr.io/cloudcorprecords/teamctx:0.1.0

Tools

16

Saved tool list · updated 1w ago

ParameterTypeRequiredDescription
querystringNoSearch query text.
folderIdstringNoId of the folder; omit to use the root.
resultTypeenumNoRestrict results to documents or folders.documents | folders
searchScopeenumNoWhere to search: the shared workspace or ProductNow help.workspace | product_help
creatorNamesarrayNoOnly include items created by these people.
updatedAfterstringNoOnly include items updated at or after this time.
updatedBeforestringNoOnly include items updated at or before this time.

Details

From the project README

teamctx

teamctx is a forwarding client for ProductNow's shared team context. The real ProductNow server is hosted, not self-hosted: teamctx takes MCP tool calls (or CLI calls) for searching, reading, writing, and organising workspace documents and forwards them to the hosted ProductNow MCP endpoint, returning whatever that server returns. One binary serves a command-line interface and a stdio MCP server.

The upstream endpoint is https://api.productnow-prod.com/mcp (Streamable HTTP), protected by OAuth 2.0 via Auth0 with the required scope mcp:use. teamctx does not run the OAuth flow itself: you supply an access token you already hold through the PRODUCTNOW_ACCESS_TOKEN environment variable, and teamctx sends it as a Bearer credential on every forwarded call. If the variable is missing or blank, teamctx fails with an error naming it before any request is attempted.

This package implements 16 of the 18 enumerated upstream tools — the labelled core subset for which the public docs publish a full Input table. Two tools are deliberate omissions because no complete parameter schema is published for them: curate_knowledge_pack and create_help_document. They are not advertised and not forwarded. Parameter types for the 16 built tools are inferred from the Input tables in the public documentation (the upstream tool catalogue publishes no JSON-Schema property definitions); names, requiredness, and enum values are as published.

Install

npx @reneturcios/teamctx call search '{"query":"pricing"}'

Or run the container image:

docker run -i ghcr.io/cloudcorprecords/teamctx

The container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead.

CLI

The CLI uses one generic subcommand rather than a subcommand per tool, because every tool takes a JSON-object argument set:

teamctx call <tool> [json-args]
teamctx call search '{"query":"pricing","resultType":"documents"}'
teamctx call fetch '{"documentId":"doc_123"}'
teamctx call fetch_folder '{}'
teamctx call remember '{"content":"We ship on Fridays."}'

teamctx --version

json-args must be a single JSON object when given; invalid JSON, a non-object value, an unknown tool, or extra arguments are usage errors (exit 2) and are rejected before any credential check. Runtime failures — including a missing PRODUCTNOW_ACCESS_TOKEN or an upstream error — exit 1. Success exits 0 and prints the upstream result as JSON.

MCP server

One bin serves both faces. The mcp subcommand starts a stdio MCP server:

npx -y @reneturcios/teamctx mcp

MCP client configuration:

{
  "mcpServers": {
    "teamctx": {
      "command": "npx",
      "args": ["-y", "@reneturcios/teamctx", "mcp"],
      "env": {
        "PRODUCTNOW_ACCESS_TOKEN": "<your ProductNow access token>"
      }
    }
  }
}
Tools
ToolRequired inputsWhat it does
search— (query required for folder search)Search shared context or ProductNow help for evidence excerpts with citations, or search folder names.
fetchdocumentIdRead one document: full text, sections, comment threads, folder, canonical URL.
fetch_folder—List a folder or the warehouse root, optionally as a nested tree (deep).
list_document_versionsdocumentIdList every version of a document, newest first; optional version-status filter.
get_statusdocumentIdReport whether a document's draft agent is running or idle.
remembercontentStore one fact, decision, or note in the right document/folder.
create_documentname, promptCreate a document, file it in a folder, and generate content with AI.
edit_documentdocumentId, messageHand editing instructions to the document's own editing agent.
update_document_statusdocumentId, statusPromote the current draft with an action verb: snapshot, review, or publish.
create_foldernameCreate a folder, optionally under a parent folder.
moveidsMove documents and folders, several at once, into one folder or the root.
renameid, nameChange one document's or folder's name.
archiveidsArchive documents and folders, several at once; nothing is deleted.
comment_on_documentdocumentId, commentComment on a document's current review version, optionally anchored to quoted text.
reply_to_threadthreadId, messageReply to an existing comment thread.
upload_mediafileName, mimeTypeAllocate a signed upload URL (valid 5 minutes) for image/video media.

Notes on the less obvious rules, as documented upstream: search defaults to the workspace scope and documents result type; creator and date filters combine as documented in the tool schema. list_document_versions filters by version statuses (DRAFT … ARCHIVED), while update_document_status takes action verbs (snapshot / review / publish) — do not mix them up. create_document's folderId is required in practice: omit it only for the warehouse root.

Development

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, no network (fake fetch only)
npm run dev     # run the CLI from source via tsx

License

MIT — see LICENSE.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.