Skip to content

Fix: migrate /search to /lookup after Capacities API deprecation#9

Merged
jem-computer merged 17 commits into
jem-computer:mainfrom
Im-Hal-9K:claude/general-session-e1E8Z
Apr 21, 2026
Merged

Fix: migrate /search to /lookup after Capacities API deprecation#9
jem-computer merged 17 commits into
jem-computer:mainfrom
Im-Hal-9K:claude/general-session-e1E8Z

Conversation

@Im-Hal-9K

Copy link
Copy Markdown
Contributor

Summary

  • Capacities deprecated POST /search on Jan 30, 2026 and hard-removed it ~end of March
  • capacities_read_object_content was failing with 404 because it called /search internally
  • Migrated both handleSearch() and handleReadObjectContent() to use /lookup first with fallback to /search
  • Updated tool descriptions to reflect new lookup-based approach

Test plan

  • TypeScript compiles clean
  • Tests pass
  • Verify capacities_search returns results
  • Verify capacities_read_object_content no longer 404s

🤖 Generated with Claude Code

Im-Hal-9K and others added 17 commits November 1, 2025 00:42
This commit adds a new tool `capacities_read_object_content` that allows
retrieving the full content of Capacities objects by their ID.

Features:
- Attempts undocumented API endpoints first for direct object retrieval
- Falls back to search API with smart aggregation of highlights/snippets
- Supports optional title parameter to improve search results
- Handles multiple highlight data structures (strings, objects with various field names)
- Aggregates content from snippet, highlights, and other content fields

The tool works around the limitation that the official Capacities API
doesn't provide a dedicated endpoint for reading individual objects.

Files changed:
- src/tools/readObjectContent.ts: Main implementation
- src/tools/readObjectContent.test.ts: Test file
- src/tools/index.ts: Export new tool
- src/server.ts: Register tool with MCP server
- README.md: User documentation
- CLAUDE.md: Developer documentation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
The completion/complete handler error was caused by fastmcp 1.x not properly
declaring capabilities when setting up completion handlers. Updating to
latest fastmcp should resolve the "Server does not support completions" error.
New package name for independent npm publishing with enhanced features.
Reset version to 1.0.0 for fresh start.
- Add "What's Different from Original" comparison table
- Add Windows installation instructions with cmd wrapper
- Update repository links to Im-Hal-9K fork
- Add new tool documentation for capacities_read_object_content
- Add Credits section acknowledging original author
- Update example prompts with reading content examples
- Add glama.json with server metadata and tool descriptions
- Add Glama badge to README
New prompt `capacities-job-application` generates properly formatted
markdown files with YAML frontmatter for importing job applications
into Capacities. Includes fields for company, role, job board, posting
link, description, skills, summary, tags, and status.

Workaround for Capacities API not having a create object endpoint.
This fixes tool registration issues with Claude Desktop by using the same
MCP library that working servers (like gtoolsmcp) use.

- Replace fastmcp dependency with @modelcontextprotocol/sdk
- Rewrite server.ts to use official SDK patterns
- Consolidate tools and prompts into server.ts
- Remove separate tool and prompt module files
- Update biome config to ignore dist/
- Bump version to 1.2.0
- Add startup log to stderr like gtoolsmcp
- Remove prompts capability (gtoolsmcp only has tools)
- Rename server to 'capacities-mcp' (lowercase with hyphen)
The configuration field is not recognized by Claude Desktop's DXT
installer and was causing installation to fail with:
"Invalid manifest: Unrecognized key(s) in object: 'configuration'"
- Remove 4 undocumented endpoint attempts in handleReadObjectContent
  that were firing on every call and likely triggering rate limits
- Default search mode to "title" when not specified
- Add specific error messages for 500 and 429 responses with endpoint context

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@jem-computer
jem-computer merged commit 5c46453 into jem-computer:main Apr 21, 2026
1 check failed
@jem-computer

Copy link
Copy Markdown
Owner

totally missed this, sorry for the delay in merging! thank you!

@Im-Hal-9K
Im-Hal-9K deleted the claude/general-session-e1E8Z branch May 4, 2026 05:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants